aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/zwobble/mammoth/documents/Paragraph.java8
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java6
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java1
-rw-r--r--src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java12
4 files changed, 25 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/documents/Paragraph.java b/src/main/java/org/zwobble/mammoth/documents/Paragraph.java
index 901eb81..8490d33 100644
--- a/src/main/java/org/zwobble/mammoth/documents/Paragraph.java
+++ b/src/main/java/org/zwobble/mammoth/documents/Paragraph.java
@@ -5,10 +5,12 @@ import java.util.Optional;
public class Paragraph implements DocumentElement, HasChildren {
private final Optional<Style> style;
+ private final Optional<NumberingLevel> numbering;
private final List<DocumentElement> children;
- public Paragraph(Optional<Style> style, List<DocumentElement> children) {
+ public Paragraph(Optional<Style> style, Optional<NumberingLevel> numbering, List<DocumentElement> children) {
this.style = style;
+ this.numbering = numbering;
this.children = children;
}
@@ -16,6 +18,10 @@ public class Paragraph implements DocumentElement, HasChildren {
return style;
}
+ public Optional<NumberingLevel> getNumbering() {
+ return numbering;
+ }
+
public List<DocumentElement> getChildren() {
return children;
}
diff --git a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
index 33fc5b0..73bab7e 100644
--- a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
@@ -46,7 +46,7 @@ public class BodyXmlReader {
}
private Paragraph readParagraph(XmlElement element) {
- return new Paragraph(readParagraphStyle(element), readElements(element.children()));
+ return new Paragraph(readParagraphStyle(element), readNumbering(element), readElements(element.children()));
}
private Optional<Style> readParagraphStyle(XmlElement paragraph) {
@@ -54,4 +54,8 @@ public class BodyXmlReader {
return properties.findChildOrEmpty("w:pStyle").getAttributeOrNone("w:val")
.map(styleId -> styles.findParagraphStyleById(styleId).orElse(new Style(styleId, Optional.empty())));
}
+
+ private Optional<NumberingLevel> readNumbering(XmlElement element) {
+ return Optional.empty();
+ }
}
diff --git a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java
index deb2500..d5a23fb 100644
--- a/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java
+++ b/src/test/java/org/zwobble/mammoth/tests/documents/DocumentElementMakers.java
@@ -18,5 +18,6 @@ public class DocumentElementMakers {
public static final Instantiator<Paragraph> PARAGRAPH =
propertyLookup -> new Paragraph(
Optional.empty(),
+ Optional.empty(),
propertyLookup.valueOf(CHILDREN, list()));
}
diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
index e6e38f8..d1dac9d 100644
--- a/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
+++ b/src/test/java/org/zwobble/mammoth/tests/docx/BodyXmlTests.java
@@ -85,6 +85,14 @@ public class BodyXmlTests {
hasStyle(Optional.of(new Style("Heading1", Optional.empty()))));
}
+ @Test
+ public void paragraphHasNoNumberingIfItHasNoNumberingProperties() {
+ XmlElement element = paragraphXml();
+ assertThat(
+ read(a(bodyReader), element),
+ hasNumbering(Optional.empty()));
+ }
+
private static DocumentElement read(Maker<BodyXmlReader> reader, XmlElement element) {
return reader.make().readElement(element).get(0);
}
@@ -121,6 +129,10 @@ public class BodyXmlTests {
return hasProperty("style", deepEquals(expected));
}
+ private Matcher<? super DocumentElement> hasNumbering(Optional<NumberingLevel> expected) {
+ return hasProperty("numbering", deepEquals(expected));
+ }
+
private Run run(DocumentElement... children) {
return new Run(asList(children));
}