Package jodd.csselly

Class CssSelector

  • All Implemented Interfaces:
    NodeFilter

    public class CssSelector
    extends java.lang.Object
    implements NodeFilter
    CSS selector.
    • Field Detail

      • prevCssSelector

        protected CssSelector prevCssSelector
      • nextCssSelector

        protected CssSelector nextCssSelector
      • element

        protected final java.lang.String element
      • selectors

        protected java.util.List<Selector> selectors
    • Constructor Detail

      • CssSelector

        public CssSelector()
      • CssSelector

        public CssSelector​(java.lang.String element)
    • Method Detail

      • getElement

        public java.lang.String getElement()
        Returns selector element name. Returns * for universal selectors.
      • getSelector

        public Selector getSelector​(int index)
        Returns selector for given index.
      • selectorsCount

        public int selectorsCount()
        Returns number of selectors.
      • setCombinator

        public void setCombinator​(Combinator combinator)
        Sets combinator.
      • getCombinator

        public Combinator getCombinator()
        Returns combinator, may be null.
      • addIdSelector

        public void addIdSelector​(java.lang.String id)
      • addClassSelector

        public void addClassSelector​(java.lang.String clazz)
      • addAttributeSelector

        public void addAttributeSelector​(java.lang.String attribute)
      • addPseudoClassSelector

        public void addPseudoClassSelector​(java.lang.String pseudoClass)
      • addPseudoFunctionSelector

        public void addPseudoFunctionSelector​(java.lang.String pseudoFunction,
                                              java.lang.String expression)
      • toString

        public java.lang.String toString()
        Generates CSS selector for the output.
        Overrides:
        toString in class java.lang.Object
      • accept

        public boolean accept​(Node node)
        Accepts single node.
        Specified by:
        accept in interface NodeFilter
      • matchElement

        protected boolean matchElement​(Node node)
        Matches element to css selector. All non-element types are ignored.
      • accept

        public boolean accept​(java.util.List<Node> currentResults,
                              Node node,
                              int index)
        Accepts node within current results.
      • unescape

        protected java.lang.String unescape​(java.lang.String value)
        Unescapes CSS string by removing all backslash characters from it.