diff options
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/html/HtmlNode.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/html/HtmlNode.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/html/HtmlNode.java b/src/main/java/org/zwobble/mammoth/internal/html/HtmlNode.java new file mode 100644 index 0000000..a04b57f --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/internal/html/HtmlNode.java @@ -0,0 +1,21 @@ +package org.zwobble.mammoth.internal.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); + void visit(HtmlSelfClosingElement element); + 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); + } +} |
