aboutsummaryrefslogtreecommitdiff
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/documents/NoteReference.java10
-rw-r--r--src/main/java/org/zwobble/mammoth/documents/NoteType.java6
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java8
3 files changed, 19 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/mammoth/documents/NoteReference.java b/src/main/java/org/zwobble/mammoth/documents/NoteReference.java
index 05311c0..01fff95 100644
--- a/src/main/java/org/zwobble/mammoth/documents/NoteReference.java
+++ b/src/main/java/org/zwobble/mammoth/documents/NoteReference.java
@@ -2,12 +2,18 @@ package org.zwobble.mammoth.documents;
public class NoteReference implements DocumentElement {
public static NoteReference footnoteReference(String noteId) {
- return new NoteReference(noteId);
+ return new NoteReference(NoteType.FOOTNOTE, noteId);
}
+ public static NoteReference endnoteReference(String noteId) {
+ return new NoteReference(NoteType.ENDNOTE, noteId);
+ }
+
+ private final NoteType noteType;
private final String noteId;
- public NoteReference(String noteId) {
+ public NoteReference(NoteType noteType, String noteId) {
+ this.noteType = noteType;
this.noteId = noteId;
}
diff --git a/src/main/java/org/zwobble/mammoth/documents/NoteType.java b/src/main/java/org/zwobble/mammoth/documents/NoteType.java
new file mode 100644
index 0000000..02549d8
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/documents/NoteType.java
@@ -0,0 +1,6 @@
+package org.zwobble.mammoth.documents;
+
+public enum NoteType {
+ FOOTNOTE,
+ ENDNOTE
+}
diff --git a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
index 5fe6f80..c8e1785 100644
--- a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
@@ -55,7 +55,9 @@ public class BodyXmlReader {
case "w:bookmarkStart":
return readBookmark(element);
case "w:footnoteReference":
- return readNoteReference(element);
+ return readNoteReference(NoteType.FOOTNOTE, element);
+ case "w:endnoteReference":
+ return readNoteReference(NoteType.ENDNOTE, element);
case "w:ins":
case "w:smartTag":
@@ -214,9 +216,9 @@ public class BodyXmlReader {
}
}
- private ReadResult readNoteReference(XmlElement element) {
+ private ReadResult readNoteReference(NoteType noteType, XmlElement element) {
String noteId = element.getAttribute("w:id");
- return success(new NoteReference(noteId));
+ return success(new NoteReference(noteType, noteId));
}
private Optional<String> readVal(XmlElementLike element, String name) {