From 3e2786a004eddf968a5fa7d5a92dff5b1b5f7734 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 24 Feb 2016 08:16:16 +0000 Subject: Create internal package --- .../org/zwobble/mammoth/docx/NumberingXml.java | 56 ---------------------- 1 file changed, 56 deletions(-) delete mode 100644 src/main/java/org/zwobble/mammoth/docx/NumberingXml.java (limited to 'src/main/java/org/zwobble/mammoth/docx/NumberingXml.java') 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> abstractNums = readAbstractNums(element.findChildren("w:abstractNum")); - return new Numbering(readNums(element.findChildren("w:num"), abstractNums)); - } - - private static Map> readAbstractNums(XmlElementList children) { - return toMap(children, NumberingXml::readAbstractNum); - } - - private static Map.Entry> 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 readAbstractNumLevels(XmlElement element) { - return toMap(element.findChildren("w:lvl"), NumberingXml::readAbstractNumLevel); - } - - private static Map.Entry readAbstractNumLevel(XmlElement element) { - String levelIndex = element.getAttribute("w:ilvl"); - Optional 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> readNums( - XmlElementList numElements, - Map> abstractNums - ) { - return toMap(numElements, numElement -> readNum(numElement, abstractNums)); - } - - private static Map.Entry> readNum( - XmlElement numElement, - Map> 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()); - } -} -- cgit v1.2.3