Interface NodeVisitor
-
- All Known Implementing Classes:
Cleaner.CleaningVisitor
,Collector.Accumulator
,Element.TextNodeVisitor
,Element.WholeTextNodeVisitor
,Node.OuterHtmlVisitor
public interface NodeVisitor
Node visitor interface. Provide an implementing class toNodeTraversor
to iterate through nodes.This interface provides two methods,
head
andtail
. 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 emit a start tag for a node, andtail
to create the end tag.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
head(Node node, int depth)
Callback for when a node is first visited.void
tail(Node node, int depth)
Callback for when a node is last visited, after all of its descendants have been visited.
-
-
-
Method Detail
-
head
void head(Node node, int depth)
Callback for when a node is first visited.The node may be modified (e.g.
Node.attr(String)
or replacedNode.replaceWith(Node)
). If it'sinstanceOf Element
, you may cast it to anElement
and access those methods.Note that nodes may not be removed during traversal using this method; use
NodeTraversor.filter(NodeFilter, Node)
with aNodeFilter.FilterResult.REMOVE
return instead.- 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.
-
tail
void tail(Node node, int depth)
Callback for when a node is last visited, after all of its descendants have been visited.Note that replacement with
Node.replaceWith(Node)
is not supported intail
.- 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.
-
-