aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/styles/StyleMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/styles/StyleMap.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/styles/StyleMap.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/main/java/org/zwobble/mammoth/styles/StyleMap.java b/src/main/java/org/zwobble/mammoth/styles/StyleMap.java
index 237a20e..e498246 100644
--- a/src/main/java/org/zwobble/mammoth/styles/StyleMap.java
+++ b/src/main/java/org/zwobble/mammoth/styles/StyleMap.java
@@ -1,9 +1,9 @@
package org.zwobble.mammoth.styles;
+import com.google.common.collect.Iterables;
import org.zwobble.mammoth.documents.Paragraph;
-import java.util.Map;
-import java.util.Optional;
+import java.util.List;
public class StyleMap {
public static StyleMapBuilder builder() {
@@ -14,9 +14,9 @@ public class StyleMap {
private final HtmlPath underline;
private final HtmlPath strikethrough;
- private final Map<String, HtmlPath> paragraphStyles;
+ private final List<StyleMapping> paragraphStyles;
- public StyleMap(HtmlPath underline, HtmlPath strikethrough, Map<String, HtmlPath> paragraphStyles) {
+ public StyleMap(HtmlPath underline, HtmlPath strikethrough, List<StyleMapping> paragraphStyles) {
this.underline = underline;
this.strikethrough = strikethrough;
this.paragraphStyles = paragraphStyles;
@@ -31,8 +31,8 @@ public class StyleMap {
}
public HtmlPath getParagraphStyleMapping(Paragraph paragraph) {
- return paragraph.getStyle()
- .flatMap(style -> Optional.ofNullable(paragraphStyles.get(style.getStyleId())))
- .orElse(HtmlPath.element("p"));
+ return Iterables.tryFind(paragraphStyles, styleMapping -> styleMapping.matches(paragraph))
+ .transform(StyleMapping::getHtmlPath)
+ .or(HtmlPath.element("p"));
}
}