diff options
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/docx/BodyXml.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/docx/BodyXml.java | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/BodyXml.java b/src/main/java/org/zwobble/mammoth/docx/BodyXml.java deleted file mode 100644 index a394d97..0000000 --- a/src/main/java/org/zwobble/mammoth/docx/BodyXml.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.zwobble.mammoth.docx; - -import com.google.common.collect.ImmutableList; -import org.zwobble.mammoth.documents.*; -import org.zwobble.mammoth.xml.XmlElement; -import org.zwobble.mammoth.xml.XmlElementLike; -import org.zwobble.mammoth.xml.XmlNode; - -import java.util.List; -import java.util.Optional; - -import static com.google.common.collect.Iterables.concat; -import static com.google.common.collect.Iterables.filter; -import static com.google.common.collect.Iterables.transform; - -public class BodyXml { - private final Styles styles; - - public BodyXml(Styles styles) { - this.styles = styles; - } - - public List<DocumentElement> readElement(XmlElement element) { - switch (element.getName()) { - case "w:t": - return ImmutableList.of(new TextElement(element.innerText())); - case "w:r": - return ImmutableList.of(new RunElement(readElements(element.children()))); - case "w:p": - return ImmutableList.of(readParagraph(element)); - - case "w:pPr": - return ImmutableList.of(); - - default: - throw new UnsupportedOperationException(); - } - } - - public List<DocumentElement> readElements(Iterable<XmlNode> nodes) { - return ImmutableList.copyOf( - concat( - transform( - filter(nodes, XmlElement.class), - this::readElement))); - } - - private ParagraphElement readParagraph(XmlElement element) { - return new ParagraphElement(readParagraphStyle(element), readElements(element.children())); - } - - private Optional<Style> readParagraphStyle(XmlElement paragraph) { - XmlElementLike properties = paragraph.findChildOrEmpty("w:pPr"); - return properties.findChildOrEmpty("w:pStyle").getAttributeOrNone("w:val") - .map(styleId -> styles.findParagraphStyleById(styleId).orElse(new Style(styleId, Optional.empty()))); - } -} |
