Package org.jsoup.select

Interface NodeFilter


public interface NodeFilter
A controllable Node visitor interface. Execute via traverse(Node).

This interface provides two methods, head and tail. The head method is called when a node is first seen, and the tail method when all that node's children have been visited.

For each visited node, the resulting action may be:

The difference between NodeFilter.FilterResult.SKIP_CHILDREN and NodeFilter.FilterResult.SKIP_ENTIRELY is that the first will invoke tail(Node, int) on the node, while the latter will not. Within tail(Node, int), both are equivalent to NodeFilter.FilterResult.CONTINUE.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    Traversal action.
  • Method Summary

    Modifier and Type
    Method
    Description
    head(Node node, int depth)
    Callback for when a node is first visited.
    tail(Node node, int depth)
    Callback for when a node is last visited, after all of its descendants have been visited.
    default void
    traverse(Node root)
    Run a depth-first controlled traverse of the root and all of its descendants.
  • Method Details

    • head

      NodeFilter.FilterResult head(Node node, int depth)
      Callback for when a node is first visited.
      Parameters:
      node - the node being visited.
      depth - the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node of that will have depth 1.
      Returns:
      Traversal action
    • tail

      default NodeFilter.FilterResult tail(Node node, int depth)
      Callback for when a node is last visited, after all of its descendants have been visited.

      This method has a default implementation to return NodeFilter.FilterResult.CONTINUE.

      Parameters:
      node - the node being visited.
      depth - the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node of that will have depth 1.
      Returns:
      Traversal action
    • traverse

      default void traverse(Node root)
      Run a depth-first controlled traverse of the root and all of its descendants.
      Parameters:
      root - the initial node point to traverse.
      Since:
      1.21.1