aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-24 09:04:14 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-24 09:04:14 +0000
commit8dd12c1ca7703a085b57fe4c5c35ef6e19d92134 (patch)
tree2e2c47733e868a6a0deadceed8b1c564643bb2cc /src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
parent9903fc49d41142934012a5ec2bf16d80f0cf4b16 (diff)
Allow style maps to be added
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
index 7d28bf1..b181074 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
@@ -3,6 +3,8 @@ package org.zwobble.mammoth.internal.styles;
import com.google.common.collect.Iterables;
import org.zwobble.mammoth.internal.documents.Paragraph;
import org.zwobble.mammoth.internal.documents.Run;
+import org.zwobble.mammoth.internal.util.MammothLists;
+import org.zwobble.mammoth.internal.util.MammothOptionals;
import java.util.List;
import java.util.Optional;
@@ -14,14 +16,14 @@ public class StyleMap {
public static final StyleMap EMPTY = new StyleMapBuilder().build();
- private final HtmlPath underline;
- private final HtmlPath strikethrough;
+ private final Optional<HtmlPath> underline;
+ private final Optional<HtmlPath> strikethrough;
private final List<StyleMapping<Paragraph>> paragraphStyles;
private final List<StyleMapping<Run>> runStyles;
public StyleMap(
- HtmlPath underline,
- HtmlPath strikethrough,
+ Optional<HtmlPath> underline,
+ Optional<HtmlPath> strikethrough,
List<StyleMapping<Paragraph>> paragraphStyles,
List<StyleMapping<Run>> runStyles)
{
@@ -31,11 +33,20 @@ public class StyleMap {
this.runStyles = runStyles;
}
- public HtmlPath getUnderline() {
+ public StyleMap update(StyleMap styleMap) {
+ // TODO: add appropriate tests
+ return new StyleMap(
+ MammothOptionals.first(styleMap.underline, underline),
+ MammothOptionals.first(styleMap.strikethrough, strikethrough),
+ MammothLists.concat(styleMap.paragraphStyles, paragraphStyles),
+ MammothLists.concat(styleMap.runStyles, runStyles));
+ }
+
+ public Optional<HtmlPath> getUnderline() {
return underline;
}
- public HtmlPath getStrikethrough() {
+ public Optional<HtmlPath> getStrikethrough() {
return strikethrough;
}