From 1b5ee524dd76729a4d790e14245a5a9d7b6dd974 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 28 Mar 2016 23:20:56 +0100 Subject: Move conversion classes to conversion namespace --- .../internal/conversion/DocumentToHtmlOptions.java | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java (limited to 'src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java') diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java new file mode 100644 index 0000000..2de828d --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java @@ -0,0 +1,53 @@ +package org.zwobble.mammoth.internal.conversion; + +import org.zwobble.mammoth.internal.styles.DefaultStyles; +import org.zwobble.mammoth.internal.styles.StyleMap; +import org.zwobble.mammoth.internal.styles.parsing.StyleMapParser; + +public class DocumentToHtmlOptions { + public static final DocumentToHtmlOptions DEFAULT = new DocumentToHtmlOptions("", false, StyleMap.EMPTY, false); + + private final String idPrefix; + private final boolean preserveEmptyParagraphs; + private final StyleMap styleMap; + private final boolean disableDefaultStyleMap; + + public DocumentToHtmlOptions(String idPrefix, boolean preserveEmptyParagraphs, StyleMap styleMap, boolean disableDefaultStyleMap) { + this.idPrefix = idPrefix; + this.preserveEmptyParagraphs = preserveEmptyParagraphs; + this.styleMap = styleMap; + this.disableDefaultStyleMap = disableDefaultStyleMap; + } + + public DocumentToHtmlOptions idPrefix(String prefix) { + return new DocumentToHtmlOptions(prefix, preserveEmptyParagraphs, styleMap, disableDefaultStyleMap); + } + + public DocumentToHtmlOptions preserveEmptyParagraphs() { + return new DocumentToHtmlOptions(idPrefix, true, styleMap, disableDefaultStyleMap); + } + + public DocumentToHtmlOptions addStyleMap(String styleMap) { + return addStyleMap(StyleMapParser.parse(styleMap)); + } + + public DocumentToHtmlOptions addStyleMap(StyleMap styleMap) { + return new DocumentToHtmlOptions(idPrefix, preserveEmptyParagraphs, this.styleMap.update(styleMap), disableDefaultStyleMap); + } + + public DocumentToHtmlOptions disableDefaultStyleMap() { + return new DocumentToHtmlOptions(idPrefix, preserveEmptyParagraphs, styleMap, true); + } + + public String idPrefix() { + return idPrefix; + } + + public boolean shouldPreserveEmptyParagraphs() { + return preserveEmptyParagraphs; + } + + public StyleMap styleMap() { + return disableDefaultStyleMap ? styleMap : DefaultStyles.DEFAULT_STYLE_MAP.update(styleMap); + } +} -- cgit v1.2.3