summaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/mammoth/Mammoth.java5
-rw-r--r--src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java2
-rw-r--r--src/main/java/org/zwobble/mammoth/documents/NoteReference.java18
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java7
4 files changed, 31 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/Mammoth.java b/src/main/java/org/zwobble/mammoth/Mammoth.java
index a1bf0d0..9564a6f 100644
--- a/src/main/java/org/zwobble/mammoth/Mammoth.java
+++ b/src/main/java/org/zwobble/mammoth/Mammoth.java
@@ -99,6 +99,11 @@ public class Mammoth {
public String visit(Bookmark bookmark) {
throw new UnsupportedOperationException();
}
+
+ @Override
+ public String visit(NoteReference noteReference) {
+ 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 b4cd390..f3a4ca4 100644
--- a/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java
+++ b/src/main/java/org/zwobble/mammoth/documents/DocumentElementVisitor.java
@@ -14,5 +14,5 @@ public interface DocumentElementVisitor<T> {
T visit(Hyperlink hyperlink);
T visit(Bookmark bookmark);
-
+ T visit(NoteReference noteReference);
}
diff --git a/src/main/java/org/zwobble/mammoth/documents/NoteReference.java b/src/main/java/org/zwobble/mammoth/documents/NoteReference.java
new file mode 100644
index 0000000..05311c0
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/documents/NoteReference.java
@@ -0,0 +1,18 @@
+package org.zwobble.mammoth.documents;
+
+public class NoteReference implements DocumentElement {
+ public static NoteReference footnoteReference(String noteId) {
+ return new NoteReference(noteId);
+ }
+
+ private final String noteId;
+
+ public NoteReference(String noteId) {
+ this.noteId = noteId;
+ }
+
+ @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 49abbb5..5fe6f80 100644
--- a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
@@ -54,6 +54,8 @@ public class BodyXmlReader {
return readHyperlink(element);
case "w:bookmarkStart":
return readBookmark(element);
+ case "w:footnoteReference":
+ return readNoteReference(element);
case "w:ins":
case "w:smartTag":
@@ -212,6 +214,11 @@ public class BodyXmlReader {
}
}
+ private ReadResult readNoteReference(XmlElement element) {
+ String noteId = element.getAttribute("w:id");
+ return success(new NoteReference(noteId));
+ }
+
private Optional<String> readVal(XmlElementLike element, String name) {
return element.findChildOrEmpty(name).getAttributeOrNone("w:val");
}