public interface NodeVisitor
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
emit a start tag for a node, and tail
to create the end tag.
Modifier and Type | Method and 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.
|
void head(Node node, int depth)
The node may be modified (e.g. Node.attr(String)
or replaced Node.replaceWith(Node)
). If it's
instanceOf Element
, you may cast it to an Element
and access those methods.
Note that nodes may not be removed during traversal using this method; use NodeTraversor.filter(NodeFilter, Node)
with a NodeFilter.FilterResult.REMOVE
return instead.
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.void tail(Node node, int depth)
Note that replacement with Node.replaceWith(Node)
tail
.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.Copyright © 2009–2022 Jonathan Hedley. All rights reserved.