From a506a6d3679c282cfd3a2f0257f5859d420feb22 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 20 Feb 2016 15:02:54 +0000 Subject: Allow paragraph matchers by style name --- src/main/java/org/zwobble/mammoth/styles/StyleMap.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/main/java/org/zwobble/mammoth/styles/StyleMap.java') 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 paragraphStyles; + private final List paragraphStyles; - public StyleMap(HtmlPath underline, HtmlPath strikethrough, Map paragraphStyles) { + public StyleMap(HtmlPath underline, HtmlPath strikethrough, List 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")); } } -- cgit v1.2.3