aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-11-13 12:38:05 +0000
committerMichael Williamson <mike@zwobble.org>2016-11-13 12:38:05 +0000
commit8d07fccc0787bb043125e2f8788e550c692a2579 (patch)
tree5e53a1f289e6f3bd569d5bdf5e5ff3ddc2c7ce1a /src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
parent4ddf138fd09099819ab25481515495b294b9a325 (diff)
Read embedded style maps
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.java21
1 files changed, 13 insertions, 8 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 c587483..f2222a9 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
@@ -15,6 +15,18 @@ public class StyleMap {
return new StyleMapBuilder();
}
+ public static StyleMap merge(StyleMap high, StyleMap low) {
+ // TODO: add appropriate tests
+ return new StyleMap(
+ Optionals.first(high.bold, low.bold),
+ Optionals.first(high.italic, low.italic),
+ Optionals.first(high.underline, low.underline),
+ Optionals.first(high.strikethrough, low.strikethrough),
+ Optionals.first(high.commentReference, low.commentReference),
+ Lists.eagerConcat(high.paragraphStyles, low.paragraphStyles),
+ Lists.eagerConcat(high.runStyles, low.runStyles));
+ }
+
public static final StyleMap EMPTY = new StyleMapBuilder().build();
private final Optional<HtmlPath> bold;
@@ -45,14 +57,7 @@ public class StyleMap {
public StyleMap update(StyleMap styleMap) {
// TODO: add appropriate tests
- return new StyleMap(
- Optionals.first(styleMap.bold, bold),
- Optionals.first(styleMap.italic, italic),
- Optionals.first(styleMap.underline, underline),
- Optionals.first(styleMap.strikethrough, strikethrough),
- Optionals.first(styleMap.commentReference, commentReference),
- Lists.eagerConcat(styleMap.paragraphStyles, paragraphStyles),
- Lists.eagerConcat(styleMap.runStyles, runStyles));
+ return merge(styleMap, this);
}
public Optional<HtmlPath> getBold() {