From 573ad1b23218f872ec34311812a76ce4a9951e11 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 13 Feb 2016 21:31:19 +0000 Subject: Read endnote references --- src/main/java/org/zwobble/mammoth/documents/NoteReference.java | 10 ++++++++-- src/main/java/org/zwobble/mammoth/documents/NoteType.java | 6 ++++++ src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java | 8 +++++--- 3 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 src/main/java/org/zwobble/mammoth/documents/NoteType.java (limited to 'src/main/java/org') 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 readVal(XmlElementLike element, String name) { -- cgit v1.2.3