From b3444db75e6575335fdfc4b75c7e9f9fab5bee85 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 3 Jan 2016 11:09:52 +0000 Subject: Use docx parsing in Mammoth --- src/main/java/org/zwobble/mammoth/documents/Document.java | 6 +++++- src/main/java/org/zwobble/mammoth/documents/DocumentElement.java | 1 + .../java/org/zwobble/mammoth/documents/DocumentElementVisitor.java | 7 +++++++ src/main/java/org/zwobble/mammoth/documents/ParagraphElement.java | 5 +++++ src/main/java/org/zwobble/mammoth/documents/RunElement.java | 5 +++++ src/main/java/org/zwobble/mammoth/documents/TextElement.java | 5 +++++ 6 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java (limited to 'src/main/java/org/zwobble/mammoth/documents') diff --git a/src/main/java/org/zwobble/mammoth/documents/Document.java b/src/main/java/org/zwobble/mammoth/documents/Document.java index a31081a..4d91925 100644 --- a/src/main/java/org/zwobble/mammoth/documents/Document.java +++ b/src/main/java/org/zwobble/mammoth/documents/Document.java @@ -2,10 +2,14 @@ package org.zwobble.mammoth.documents; import java.util.List; -public class Document { +public class Document implements HasChildren { private final List children; public Document(List children) { this.children = children; } + + public List getChildren() { + return children; + } } diff --git a/src/main/java/org/zwobble/mammoth/documents/DocumentElement.java b/src/main/java/org/zwobble/mammoth/documents/DocumentElement.java index d7b20d3..fd3990c 100644 --- a/src/main/java/org/zwobble/mammoth/documents/DocumentElement.java +++ b/src/main/java/org/zwobble/mammoth/documents/DocumentElement.java @@ -1,4 +1,5 @@ package org.zwobble.mammoth.documents; public interface DocumentElement { + T accept(DocumentElementVisitor visitor); } diff --git a/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java b/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java new file mode 100644 index 0000000..bb41ff2 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java @@ -0,0 +1,7 @@ +package org.zwobble.mammoth.documents; + +public interface DocumentElementVisitor { + T visit(ParagraphElement paragraph); + T visit(RunElement run); + T visit(TextElement text); +} diff --git a/src/main/java/org/zwobble/mammoth/documents/ParagraphElement.java b/src/main/java/org/zwobble/mammoth/documents/ParagraphElement.java index 22d9306..15c2b85 100644 --- a/src/main/java/org/zwobble/mammoth/documents/ParagraphElement.java +++ b/src/main/java/org/zwobble/mammoth/documents/ParagraphElement.java @@ -19,4 +19,9 @@ public class ParagraphElement implements DocumentElement, HasChildren { public List getChildren() { return children; } + + @Override + public T accept(DocumentElementVisitor visitor) { + return visitor.visit(this); + } } diff --git a/src/main/java/org/zwobble/mammoth/documents/RunElement.java b/src/main/java/org/zwobble/mammoth/documents/RunElement.java index ef063dc..f33eca3 100644 --- a/src/main/java/org/zwobble/mammoth/documents/RunElement.java +++ b/src/main/java/org/zwobble/mammoth/documents/RunElement.java @@ -12,4 +12,9 @@ public class RunElement implements DocumentElement, HasChildren { public List getChildren() { return children; } + + @Override + public T accept(DocumentElementVisitor visitor) { + return visitor.visit(this); + } } diff --git a/src/main/java/org/zwobble/mammoth/documents/TextElement.java b/src/main/java/org/zwobble/mammoth/documents/TextElement.java index e2e7383..00281d0 100644 --- a/src/main/java/org/zwobble/mammoth/documents/TextElement.java +++ b/src/main/java/org/zwobble/mammoth/documents/TextElement.java @@ -10,4 +10,9 @@ public class TextElement implements DocumentElement { public String getValue() { return value; } + + @Override + public T accept(DocumentElementVisitor visitor) { + return visitor.visit(this); + } } -- cgit v1.2.3