diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-20 15:02:54 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-20 15:02:54 +0000 |
| commit | a506a6d3679c282cfd3a2f0257f5859d420feb22 (patch) | |
| tree | fea7aa22d6012abb8a14bc5da1abf8c7c9a7b692 /src/main/java/org/zwobble/mammoth/styles/StyleMap.java | |
| parent | 969f585f87b4da456a30c99e3e988152fdca96fe (diff) | |
Allow paragraph matchers by style name
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/styles/StyleMap.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/styles/StyleMap.java | 14 |
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")); } } |
