diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-03-28 23:20:56 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-03-28 23:20:56 +0100 |
| commit | 1b5ee524dd76729a4d790e14245a5a9d7b6dd974 (patch) | |
| tree | a88697626b0dbf1defc11510c269d35e7c1f75bc /src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java | |
| parent | 0610baf0b3464b49042b00f5518a501e9b11f3e3 (diff) | |
Move conversion classes to conversion namespace
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java | 53 |
1 files changed, 53 insertions, 0 deletions
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); + } +} |
