001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.mappaint.mapcss;
003
004import java.util.List;
005
006import org.openstreetmap.josm.gui.mappaint.Environment;
007import org.openstreetmap.josm.tools.Utils;
008
009public 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