From 8377b89bfc97a85dbe90fb4cfa5dd33cd3568af4 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 21 Feb 2016 10:09:47 +0000 Subject: Add style mappings for runs --- .../java/org/zwobble/mammoth/styles/StyleMap.java | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 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 7aae7df..d214acb 100644 --- a/src/main/java/org/zwobble/mammoth/styles/StyleMap.java +++ b/src/main/java/org/zwobble/mammoth/styles/StyleMap.java @@ -2,6 +2,7 @@ package org.zwobble.mammoth.styles; import com.google.common.collect.Iterables; import org.zwobble.mammoth.documents.Paragraph; +import org.zwobble.mammoth.documents.Run; import java.util.List; import java.util.Optional; @@ -15,12 +16,19 @@ public class StyleMap { private final HtmlPath underline; private final HtmlPath strikethrough; - private final List paragraphStyles; - - public StyleMap(HtmlPath underline, HtmlPath strikethrough, List paragraphStyles) { + private final List> paragraphStyles; + private final List> runStyles; + + public StyleMap( + HtmlPath underline, + HtmlPath strikethrough, + List> paragraphStyles, + List> runStyles) + { this.underline = underline; this.strikethrough = strikethrough; this.paragraphStyles = paragraphStyles; + this.runStyles = runStyles; } public HtmlPath getUnderline() { @@ -32,7 +40,17 @@ public class StyleMap { } public Optional getParagraphHtmlPath(Paragraph paragraph) { - com.google.common.base.Optional mapping = Iterables.tryFind(paragraphStyles, styleMapping -> styleMapping.matches(paragraph)); + com.google.common.base.Optional> mapping = Iterables.tryFind( + paragraphStyles, + styleMapping -> styleMapping.matches(paragraph)); + return Optional.ofNullable(mapping.orNull()) + .map(StyleMapping::getHtmlPath); + } + + public Optional getRunHtmlPath(Run run) { + com.google.common.base.Optional> mapping = Iterables.tryFind( + runStyles, + styleMapping -> styleMapping.matches(run)); return Optional.ofNullable(mapping.orNull()) .map(StyleMapping::getHtmlPath); } -- cgit v1.2.3