diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-24 09:04:14 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-24 09:04:14 +0000 |
| commit | 8dd12c1ca7703a085b57fe4c5c35ef6e19d92134 (patch) | |
| tree | 2e2c47733e868a6a0deadceed8b1c564643bb2cc /src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java | |
| parent | 9903fc49d41142934012a5ec2bf16d80f0cf4b16 (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.java | 23 |
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; } |
