@Override public void startMedia(SACMediaList media) throws CSSException { MediaNode node = new MediaNode(media); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void elseDirective() { if (nodeStack.peek() instanceof IfNode) { nodeStack.pop(); } ElseNode node = new ElseNode(); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void contentDirective() { ContentNode node = new ContentNode(); nodeStack.peek().appendChild(node); }
private static void replaceDefNodeWithCorrectChild(IfElseDefNode defNode, Node parent, final Node child) { for (final Node n : new ArrayList<Node>(child.getChildren())) { parent.appendChild(n, defNode); } } }
@Override public void startFontFace() throws CSSException { FontFaceNode node = new FontFaceNode(); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void ifDirective(String evaluator) { if (nodeStack.peek() instanceof IfNode) { nodeStack.pop(); } IfNode node = new IfNode(evaluator); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void variable(String name, LexicalUnitImpl value, boolean guarded) { VariableNode node = new VariableNode(name, value, guarded); nodeStack.peek().appendChild(node); }
@Override public EachDefNode startEachDirective(String var, ArrayList<String> list) { EachDefNode node = new EachDefNode(var, list); nodeStack.peek().appendChild(node); nodeStack.push(node); return node; }
@Override public void startSelector(ArrayList<String> selectors) throws CSSException { BlockNode node = new BlockNode(selectors); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void property(String name, LexicalUnitImpl value, boolean important, String comment) { RuleNode node = new RuleNode(name, value, important, comment); nodeStack.peek().appendChild(node); }
@Override public void extendDirective(ArrayList<String> list) { ExtendNode node = new ExtendNode(list); nodeStack.peek().appendChild(node); }
@Override public void microsoftDirective(String name, String value) { MicrosoftRuleNode node = new MicrosoftRuleNode(name, value); nodeStack.peek().appendChild(node); }
@Override public void containsDirective(String variable, String list, String contains, String separator) { ListContainsNode node = new ListContainsNode(variable, list, contains, separator); nodeStack.peek().appendChild(node); }
@Override public EachDefNode startEachDirective(String var, String listVariable) { EachDefNode node = new EachDefNode(var, listVariable); nodeStack.peek().appendChild(node); nodeStack.push(node); return node; }
@Override public void importStyle(String uri, SACMediaList media, boolean isURL) { ImportNode node = new ImportNode(uri, media, isURL); nodeStack.peek().appendChild(node); }
@Override public void startIfElseDirective() { final IfElseDefNode node = new IfElseDefNode(); nodeStack.peek().appendChild(node); nodeStack.push(node); }
@Override public void removeDirective(String variable, String list, String remove, String separator) { ListRemoveNode node = new ListRemoveNode(variable, list, remove, separator); nodeStack.peek().appendChild(node); }
@Override public void appendDirective(String variable, String list, String append, String separator) { ListAppendNode node = new ListAppendNode(variable, list, append, separator); nodeStack.peek().appendChild(node); }
@Override public void startInclude(String name, List<LexicalUnitImpl> args) { MixinNode node = new MixinNode(name, args); nodeStack.peek().appendChild(node); nodeStack.push(node); }
public static void traverse(NestPropertiesNode node) { Node previous = node; for (RuleNode unNested : node.unNesting()) { node.getParentNode().appendChild(unNested, previous); previous = unNested; } node.getParentNode().removeChild(node); } }