aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/docx/NumberingXml.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/docx/NumberingXml.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/NumberingXml.java56
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());
- }
-}