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
- continue (
NodeFilter.FilterResult.CONTINUE
), - skip all children (
NodeFilter.FilterResult.SKIP_CHILDREN
), - skip node entirely (
NodeFilter.FilterResult.SKIP_ENTIRELY
), - remove the subtree (
NodeFilter.FilterResult.REMOVE
), - interrupt the iteration and return (
NodeFilter.FilterResult.STOP
).
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 class
NodeFilter.FilterResult
Filter decision. -
Method Summary
Modifier and Type Method Description NodeFilter.FilterResult
head(Node node, int depth)
Callback for when a node is first visited.NodeFilter.FilterResult
tail(Node node, int depth)
Callback for when a node is last visited, after all of its descendants have been visited.
-
Method Details
-
head
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
Callback for when a node is last visited, after all of its descendants have been 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
-