001 // License: GPL. For details, see LICENSE file. 002 package org.openstreetmap.josm.gui.mappaint.mapcss; 003 004 import java.util.List; 005 006 import org.openstreetmap.josm.gui.mappaint.Environment; 007 import org.openstreetmap.josm.tools.Utils; 008 009 public class MapCSSRule { 010 011 public List<Selector> selectors; 012 public List<Instruction> declaration; 013 014 public MapCSSRule(List<Selector> selectors, List<Instruction> declaration) { 015 this.selectors = selectors; 016 this.declaration = declaration; 017 } 018 019 /** 020 * <p>Executes the instructions against the environment {@code env}</p> 021 * 022 * @param env the environment 023 */ 024 public void execute(Environment env) { 025 for (Instruction i : declaration) { 026 i.execute(env); 027 } 028 } 029 030 @Override 031 public String toString() { 032 return Utils.join(",", selectors) + " {\n " + Utils.join("\n ", declaration) + "\n}"; 033 } 034 } 035