aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/docx/NotesXmlReader.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-24 08:16:16 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-24 08:16:16 +0000
commit3e2786a004eddf968a5fa7d5a92dff5b1b5f7734 (patch)
tree7fa1bcc1e484cd0ef782f64baf504ee83333d397 /src/main/java/org/zwobble/mammoth/docx/NotesXmlReader.java
parent0dc3a12affc2e46c1a0df2899cf51a1ae3fdbd61 (diff)
Create internal package
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/docx/NotesXmlReader.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/NotesXmlReader.java55
1 files changed, 0 insertions, 55 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/NotesXmlReader.java b/src/main/java/org/zwobble/mammoth/docx/NotesXmlReader.java
deleted file mode 100644
index d3c6532..0000000
--- a/src/main/java/org/zwobble/mammoth/docx/NotesXmlReader.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.zwobble.mammoth.docx;
-
-import org.zwobble.mammoth.documents.NoteType;
-import org.zwobble.mammoth.results.Result;
-import org.zwobble.mammoth.documents.Note;
-import org.zwobble.mammoth.xml.XmlElement;
-
-import java.util.List;
-
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.transform;
-
-public class NotesXmlReader {
- public static NotesXmlReader footnote(BodyXmlReader bodyReader) {
- return new NotesXmlReader(bodyReader, "footnote", NoteType.FOOTNOTE);
- }
-
- public static NotesXmlReader endnote(BodyXmlReader bodyReader) {
- return new NotesXmlReader(bodyReader, "endnote", NoteType.ENDNOTE);
- }
-
- private final BodyXmlReader bodyReader;
- private final String tagName;
- private final NoteType noteType;
-
- private NotesXmlReader(BodyXmlReader bodyReader, String tagName, NoteType noteType) {
- this.bodyReader = bodyReader;
- this.tagName = tagName;
- this.noteType = noteType;
- }
-
- public Result<List<Note>> readElement(XmlElement element) {
- Iterable<XmlElement> elements = filter(element.findChildren("w:" + tagName), this::isNoteElement);
- return Result.concat(transform(elements, this::readNoteElement));
- }
-
- private boolean isNoteElement(XmlElement element) {
- return element.getAttributeOrNone("w:type")
- .map(type -> !isSeparatorType(type))
- .orElse(true);
- }
-
- private boolean isSeparatorType(String type) {
- return type.equals("continuationSeparator") || type.equals("separator");
- }
-
- private Result<Note> readNoteElement(XmlElement element) {
- return bodyReader.readElements(element.children())
- .toResult()
- .map(children -> new Note(
- noteType,
- element.getAttribute("w:id"),
- children));
- }
-}