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/internal/documents/Table.java9
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java15
2 files changed, 20 insertions, 4 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Table.java b/src/main/java/org/zwobble/mammoth/internal/documents/Table.java
index 031b382..c58808c 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/Table.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/Table.java
@@ -1,14 +1,21 @@
package org.zwobble.mammoth.internal.documents;
import java.util.List;
+import java.util.Optional;
public class Table implements DocumentElement, HasChildren {
+ private final Optional<Style> style;
private final List<DocumentElement> children;
- public Table(List<DocumentElement> children) {
+ public Table(Optional<Style> style, List<DocumentElement> children) {
+ this.style = style;
this.children = children;
}
+ public Optional<Style> getStyle() {
+ return style;
+ }
+
@Override
public List<DocumentElement> getChildren() {
return children;
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
index 464884a..f6a9863 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
@@ -338,9 +338,18 @@ class StatefulBodyXmlReader {
}
private ReadResult readTable(XmlElement element) {
- return readElements(element.getChildren())
- .flatMap(this::calculateRowspans)
- .map(Table::new);
+ XmlElementLike properties = element.findChildOrEmpty("w:tblPr");
+ return ReadResult.map(
+ readTableStyle(properties),
+ readElements(element.getChildren())
+ .flatMap(this::calculateRowspans),
+
+ Table::new
+ );
+ }
+
+ private InternalResult<Optional<Style>> readTableStyle(XmlElementLike properties) {
+ return readStyle(properties, "w:tblStyle", "Table", styles::findTableStyleById);
}
private ReadResult calculateRowspans(List<DocumentElement> rows) {