diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-24 08:16:16 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-24 08:16:16 +0000 |
| commit | 3e2786a004eddf968a5fa7d5a92dff5b1b5f7734 (patch) | |
| tree | 7fa1bcc1e484cd0ef782f64baf504ee83333d397 /src/main/java/org/zwobble/mammoth/docx/NumberingXml.java | |
| parent | 0dc3a12affc2e46c1a0df2899cf51a1ae3fdbd61 (diff) | |
Create internal package
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/docx/NumberingXml.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/docx/NumberingXml.java | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/NumberingXml.java b/src/main/java/org/zwobble/mammoth/docx/NumberingXml.java deleted file mode 100644 index 9c3e286..0000000 --- a/src/main/java/org/zwobble/mammoth/docx/NumberingXml.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.zwobble.mammoth.docx; - -import org.zwobble.mammoth.documents.NumberingLevel; -import org.zwobble.mammoth.xml.XmlElement; -import org.zwobble.mammoth.xml.XmlElementList; - -import java.util.Map; -import java.util.Optional; - -import static com.google.common.collect.Maps.immutableEntry; -import static org.zwobble.mammoth.util.MammothMaps.toMap; - -public class NumberingXml { - public static Numbering readNumberingXmlElement(XmlElement element) { - Map<String, Map<String, NumberingLevel>> abstractNums = readAbstractNums(element.findChildren("w:abstractNum")); - return new Numbering(readNums(element.findChildren("w:num"), abstractNums)); - } - - private static Map<String, Map<String, NumberingLevel>> readAbstractNums(XmlElementList children) { - return toMap(children, NumberingXml::readAbstractNum); - } - - private static Map.Entry<String, Map<String, NumberingLevel>> readAbstractNum(XmlElement element) { - // TODO: in python-mammoth, we allow None here. Check whether that's actually possible or not - String abstractNumId = element.getAttribute("w:abstractNumId"); - return immutableEntry(abstractNumId, readAbstractNumLevels(element)); - } - - private static Map<String, NumberingLevel> readAbstractNumLevels(XmlElement element) { - return toMap(element.findChildren("w:lvl"), NumberingXml::readAbstractNumLevel); - } - - private static Map.Entry<String, NumberingLevel> readAbstractNumLevel(XmlElement element) { - String levelIndex = element.getAttribute("w:ilvl"); - Optional<String> numFmt = element.findChildOrEmpty("w:numFmt").getAttributeOrNone("w:val"); - boolean isOrdered = !numFmt.equals(Optional.of("bullet")); - return immutableEntry(levelIndex, new NumberingLevel(levelIndex, isOrdered)); - } - - private static Map<String, Map<String, NumberingLevel>> readNums( - XmlElementList numElements, - Map<String, Map<String, NumberingLevel>> abstractNums - ) { - return toMap(numElements, numElement -> readNum(numElement, abstractNums)); - } - - private static Map.Entry<String,Map<String,NumberingLevel>> readNum( - XmlElement numElement, - Map<String, Map<String, NumberingLevel>> abstractNums - ) { - // TODO: in python-mammoth, we allow None here. Check whether that's actually possible or not - String numId = numElement.getAttribute("w:numId"); - String abstractNumId = numElement.findChild("w:abstractNumId").getAttribute("w:val"); - return immutableEntry(numId, Optional.ofNullable(abstractNums.get(abstractNumId)).get()); - } -} |
