diff options
Diffstat (limited to 'server/src/org/jsoup/select/NodeVisitor.java')
-rw-r--r-- | server/src/org/jsoup/select/NodeVisitor.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/server/src/org/jsoup/select/NodeVisitor.java b/server/src/org/jsoup/select/NodeVisitor.java new file mode 100644 index 0000000000..20112e8d29 --- /dev/null +++ b/server/src/org/jsoup/select/NodeVisitor.java @@ -0,0 +1,30 @@ +package org.jsoup.select; + +import org.jsoup.nodes.Node; + +/** + * Node visitor interface. Provide an implementing class to {@link NodeTraversor} to iterate through nodes. + * <p/> + * This interface provides two methods, {@code head} and {@code 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. + */ +public interface NodeVisitor { + /** + * Callback for when a node is first visited. + * + * @param node the node being visited. + * @param 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. + */ + public void head(Node node, int depth); + + /** + * Callback for when a node is last visited, after all of its descendants have been visited. + * + * @param node the node being visited. + * @param 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. + */ + public void tail(Node node, int depth); +} |