Class NodeSelector

java.lang.Object
jodd.lagarto.dom.NodeSelector

public class NodeSelector extends Object
Node selector selects DOM nodes using CSS3 selectors. Group of queries are supported.
  • Field Details

    • rootNode

      protected final Node rootNode
  • Constructor Details

    • NodeSelector

      public NodeSelector(Node rootNode)
  • Method Details

    • select

      public List<Node> select(String query)
      Selects nodes using CSS3 selector query.
    • select

      public List<Node> select(Collection<List<CssSelector>> selectorsCollection)
      Selected nodes using pre-parsed CSS selectors. Take in consideration collection type for results grouping order.
    • processSelectors

      protected void processSelectors(List<Node> results, List<CssSelector> selectors)
      Process selectors and keep adding results.
    • selectFirst

      public Node selectFirst(String query)
      Selects nodes using CSS3 selector query and returns the very first one.
    • select

      public List<Node> select(NodeFilter nodeFilter)
      Selects nodes using node filter.
    • selectFirst

      public Node selectFirst(NodeFilter nodeFilter)
      Selects nodes using node filter and return the very first one.
    • walk

      protected void walk(Node rootNode, NodeFilter nodeFilter, List<Node> result)
    • select

      protected List<Node> select(Node rootNode, List<CssSelector> selectors)
    • walkDescendantsIteratively

      protected void walkDescendantsIteratively(LinkedList<Node> nodes, CssSelector cssSelector, List<Node> result)
      Walks over the child notes, maintaining the tree order and not using recursion.
    • walk

      protected void walk(Node rootNode, CssSelector cssSelector, List<Node> result)
      Finds nodes in the tree that matches single selector.
    • selectAndAdd

      protected void selectAndAdd(Node node, CssSelector cssSelector, List<Node> result)
      Selects single node for single selector and appends it to the results.
    • filter

      protected boolean filter(List<Node> currentResults, Node node, CssSelector cssSelector, int index)
      Filter nodes.