From 8dd12c1ca7703a085b57fe4c5c35ef6e19d92134 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 24 Feb 2016 09:04:14 +0000 Subject: Allow style maps to be added --- .../zwobble/mammoth/internal/styles/StyleMap.java | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java') 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 underline; + private final Optional strikethrough; private final List> paragraphStyles; private final List> runStyles; public StyleMap( - HtmlPath underline, - HtmlPath strikethrough, + Optional underline, + Optional strikethrough, List> paragraphStyles, List> 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 getUnderline() { return underline; } - public HtmlPath getStrikethrough() { + public Optional getStrikethrough() { return strikethrough; } -- cgit v1.2.3