diff options
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/html/HtmlNode.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/html/HtmlNode.java | 9 |
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); + } } |
