diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-11-13 12:38:05 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-11-13 12:38:05 +0000 |
| commit | 8d07fccc0787bb043125e2f8788e550c692a2579 (patch) | |
| tree | 5e53a1f289e6f3bd569d5bdf5e5ff3ddc2c7ce1a /src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java | |
| parent | 4ddf138fd09099819ab25481515495b294b9a325 (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.java | 21 |
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() { |
