Package org.jsoup.select

Interface NodeFilter


public interface NodeFilter
Node filter interface. Provide an implementing class to NodeTraversor to iterate through nodes.

This interface provides two methods, head and tail. The head method is called when the node is first seen, and the tail method when all of the node's children have been visited. As an example, head can be used to create a start tag for a node, and tail to create the end tag.

For every node, the filter has to decide whether to:

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 
    Filter decision.
  • 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.
  • 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:
      Filter decision
    • 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:
      Filter decision