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.java26
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);
}