summaryrefslogtreecommitdiffstats
path: root/src/org/jsoup/select/NodeVisitor.java
diff options
context:
space:
mode:
authorJouni Koivuviita <jouni@vaadin.com>2012-08-10 11:17:49 +0300
committerJouni Koivuviita <jouni@vaadin.com>2012-08-10 11:17:49 +0300
commit559775efaf0a8f0f9f1ad6246084667732b15a0f (patch)
tree58e8046b9f32aca3ffef3f21f8b716daf39a3695 /src/org/jsoup/select/NodeVisitor.java
parent76a8403b7e409d1782af325b4d424b914438b8b9 (diff)
parent454f44738b20b22aeeb327523f1306b46d3cbef6 (diff)
downloadvaadin-framework-559775efaf0a8f0f9f1ad6246084667732b15a0f.tar.gz
vaadin-framework-559775efaf0a8f0f9f1ad6246084667732b15a0f.zip
Merge branch 'master' into layoutgraph
Diffstat (limited to 'src/org/jsoup/select/NodeVisitor.java')
-rw-r--r--src/org/jsoup/select/NodeVisitor.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/org/jsoup/select/NodeVisitor.java b/src/org/jsoup/select/NodeVisitor.java
new file mode 100644
index 0000000000..20112e8d29
--- /dev/null
+++ b/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);
+}