aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/html/HtmlNode.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/html/HtmlNode.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/html/HtmlNode.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/html/HtmlNode.java b/src/main/java/org/zwobble/mammoth/html/HtmlNode.java
index 823e362..6099519 100644
--- a/src/main/java/org/zwobble/mammoth/html/HtmlNode.java
+++ b/src/main/java/org/zwobble/mammoth/html/HtmlNode.java
@@ -1,7 +1,9 @@
package org.zwobble.mammoth.html;
public interface HtmlNode {
+ // TODO: rename visit to accept
void visit(Visitor visitor);
+ <T> T accept(Mapper<T> visitor);
interface Visitor {
void visit(HtmlElement element);
@@ -9,4 +11,11 @@ public interface HtmlNode {
void visit(HtmlTextNode node);
void visit(HtmlForceWrite forceWrite);
}
+
+ interface Mapper<T> {
+ T visit(HtmlElement element);
+ T visit(HtmlSelfClosingElement element);
+ T visit(HtmlTextNode node);
+ T visit(HtmlForceWrite forceWrite);
+ }
}