aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java9
-rw-r--r--src/main/java/org/zwobble/mammoth/xml/NullXmlElement.java5
-rw-r--r--src/main/java/org/zwobble/mammoth/xml/XmlElement.java5
-rw-r--r--src/main/java/org/zwobble/mammoth/xml/XmlElementLike.java1
4 files changed, 19 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
index e9fca9c..2982916 100644
--- a/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/docx/BodyXmlReader.java
@@ -49,7 +49,14 @@ public class BodyXmlReader {
return ReadResult.map(
readRunStyle(properties),
readElements(element.children()),
- (style, children) -> new Run(false, style, children));
+ (style, children) -> new Run(
+ isBold(properties),
+ style,
+ children));
+ }
+
+ private boolean isBold(XmlElementLike properties) {
+ return properties.hasChild("w:b");
}
private Result<Optional<Style>> readRunStyle(XmlElementLike properties) {
diff --git a/src/main/java/org/zwobble/mammoth/xml/NullXmlElement.java b/src/main/java/org/zwobble/mammoth/xml/NullXmlElement.java
index 05bfa78..0bec026 100644
--- a/src/main/java/org/zwobble/mammoth/xml/NullXmlElement.java
+++ b/src/main/java/org/zwobble/mammoth/xml/NullXmlElement.java
@@ -9,6 +9,11 @@ public class NullXmlElement implements XmlElementLike {
}
@Override
+ public boolean hasChild(String name) {
+ return false;
+ }
+
+ @Override
public XmlElementLike findChildOrEmpty(String name) {
return this;
}
diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlElement.java b/src/main/java/org/zwobble/mammoth/xml/XmlElement.java
index c487a7e..cf1dc67 100644
--- a/src/main/java/org/zwobble/mammoth/xml/XmlElement.java
+++ b/src/main/java/org/zwobble/mammoth/xml/XmlElement.java
@@ -72,6 +72,11 @@ public class XmlElement implements XmlNode, XmlElementLike {
}
@Override
+ public boolean hasChild(String name) {
+ return findChildrenIterable(name).iterator().hasNext();
+ }
+
+ @Override
public XmlElementLike findChildOrEmpty(String name) {
return getFirst(findChildrenIterable(name), NullXmlElement.INSTANCE);
}
diff --git a/src/main/java/org/zwobble/mammoth/xml/XmlElementLike.java b/src/main/java/org/zwobble/mammoth/xml/XmlElementLike.java
index 06193a7..adba7c8 100644
--- a/src/main/java/org/zwobble/mammoth/xml/XmlElementLike.java
+++ b/src/main/java/org/zwobble/mammoth/xml/XmlElementLike.java
@@ -3,6 +3,7 @@ package org.zwobble.mammoth.xml;
import java.util.Optional;
public interface XmlElementLike {
+ boolean hasChild(String name);
XmlElementLike findChildOrEmpty(String name);
Optional<String> getAttributeOrNone(String name);
}