diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-21 10:09:47 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-21 10:09:47 +0000 |
| commit | 8377b89bfc97a85dbe90fb4cfa5dd33cd3568af4 (patch) | |
| tree | c37ec926bfb9cf2c45ebfb564edb596fa1e0965a /src/main/java/org/zwobble/mammoth/styles/StyleMap.java | |
| parent | c1604e510cc831a00f6105df35c68a856f061b65 (diff) | |
Add style mappings for runs
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/styles/StyleMap.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/styles/StyleMap.java | 26 |
1 files changed, 22 insertions, 4 deletions
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<StyleMapping> paragraphStyles; - - public StyleMap(HtmlPath underline, HtmlPath strikethrough, List<StyleMapping> paragraphStyles) { + private final List<StyleMapping<Paragraph>> paragraphStyles; + private final List<StyleMapping<Run>> runStyles; + + public StyleMap( + HtmlPath underline, + HtmlPath strikethrough, + List<StyleMapping<Paragraph>> paragraphStyles, + List<StyleMapping<Run>> 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<HtmlPath> getParagraphHtmlPath(Paragraph paragraph) { - com.google.common.base.Optional<StyleMapping> mapping = Iterables.tryFind(paragraphStyles, styleMapping -> styleMapping.matches(paragraph)); + com.google.common.base.Optional<StyleMapping<Paragraph>> mapping = Iterables.tryFind( + paragraphStyles, + styleMapping -> styleMapping.matches(paragraph)); + return Optional.ofNullable(mapping.orNull()) + .map(StyleMapping::getHtmlPath); + } + + public Optional<HtmlPath> getRunHtmlPath(Run run) { + com.google.common.base.Optional<StyleMapping<Run>> mapping = Iterables.tryFind( + runStyles, + styleMapping -> styleMapping.matches(run)); return Optional.ofNullable(mapping.orNull()) .map(StyleMapping::getHtmlPath); } |
