diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-13 19:29:09 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-13 19:29:09 +0000 |
| commit | a18ba8f9079bec9ab3262e1669d3b60b5354d69e (patch) | |
| tree | 7a46512cb82bf1476379c2a9f1810b82b76c62e3 /src/main/java/org | |
| parent | ce9fb45ae37e1a251b7795a38b7cb67f77cd82e9 (diff) | |
Read tables
Diffstat (limited to 'src/main/java/org')
6 files changed, 89 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/Mammoth.java b/src/main/java/org/zwobble/mammoth/Mammoth.java index cae4e31..4e69a6b 100644 --- a/src/main/java/org/zwobble/mammoth/Mammoth.java +++ b/src/main/java/org/zwobble/mammoth/Mammoth.java @@ -65,6 +65,21 @@ public class Mammoth { public String visit(Tab tab) { throw new UnsupportedOperationException(); } + + @Override + public String visit(Table table) { + throw new UnsupportedOperationException(); + } + + @Override + public String visit(TableRow tableRow) { + throw new UnsupportedOperationException(); + } + + @Override + public String visit(TableCell tableCell) { + throw new UnsupportedOperationException(); + } }); } } diff --git a/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java b/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java index 5a93837..0781960 100644 --- a/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java +++ b/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java @@ -6,4 +6,8 @@ public interface DocumentElementVisitor<T> { T visit(Text text); T visit(Tab tab); + + T visit(Table table); + T visit(TableRow tableRow); + T visit(TableCell tableCell); } diff --git a/src/main/java/org/zwobble/mammoth/documents/Table.java b/src/main/java/org/zwobble/mammoth/documents/Table.java new file mode 100644 index 0000000..ceac458 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/documents/Table.java @@ -0,0 +1,21 @@ +package org.zwobble.mammoth.documents; + +import java.util.List; + +public class Table implements DocumentElement, HasChildren { + private final List<DocumentElement> children; + + public Table(List<DocumentElement> children) { + this.children = children; + } + + @Override + public List<DocumentElement> getChildren() { + return children; + } + + @Override + public <T> T accept(DocumentElementVisitor<T> visitor) { + return visitor.visit(this); + } +} diff --git a/src/main/java/org/zwobble/mammoth/documents/TableCell.java b/src/main/java/org/zwobble/mammoth/documents/TableCell.java new file mode 100644 index 0000000..a7a4f59 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/documents/TableCell.java @@ -0,0 +1,21 @@ +package org.zwobble.mammoth.documents; + +import java.util.List; + +public class TableCell implements DocumentElement, HasChildren { + private final List<DocumentElement> children; + + public TableCell(List<DocumentElement> children) { + this.children = children; + } + + @Override + public List<DocumentElement> getChildren() { + return children; + } + + @Override + public <T> T accept(DocumentElementVisitor<T> visitor) { + return visitor.visit(this); + } +} diff --git a/src/main/java/org/zwobble/mammoth/documents/TableRow.java b/src/main/java/org/zwobble/mammoth/documents/TableRow.java new file mode 100644 index 0000000..b5ab320 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/documents/TableRow.java @@ -0,0 +1,21 @@ +package org.zwobble.mammoth.documents; + +import java.util.List; + +public class TableRow implements DocumentElement, HasChildren { + private final List<DocumentElement> children; + + public TableRow(List<DocumentElement> children) { + this.children = children; + } + + @Override + public List<DocumentElement> getChildren() { + return children; + } + + @Override + public <T> T accept(DocumentElementVisitor<T> visitor) { + return visitor.visit(this); + } +} diff --git a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java index 9bdf26d..78baf51 100644 --- a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java @@ -38,6 +38,13 @@ public class BodyXmlReader { case "w:tab": return success(Tab.TAB); + case "w:tbl": + return readElements(element.children()).map(Table::new); + case "w:tr": + return readElements(element.children()).map(TableRow::new); + case "w:tc": + return readElements(element.children()).map(TableCell::new); + case "w:pPr": return EMPTY_SUCCESS; |
