aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-28 23:20:56 +0100
committerMichael Williamson <mike@zwobble.org>2016-03-28 23:20:56 +0100
commit1b5ee524dd76729a4d790e14245a5a9d7b6dd974 (patch)
treea88697626b0dbf1defc11510c269d35e7c1f75bc /src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtmlOptions.java
parent0610baf0b3464b49042b00f5518a501e9b11f3e3 (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.java53
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);
+ }
+}