aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/mammoth/DocumentConverter.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/Result.java10
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java14
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java20
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java12
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/NotesXmlReader.java8
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java10
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java (renamed from src/main/java/org/zwobble/mammoth/results/Result.java)38
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/results/Warning.java (renamed from src/main/java/org/zwobble/mammoth/results/Warning.java)2
10 files changed, 66 insertions, 56 deletions
diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java
index 31464e7..84f8570 100644
--- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java
+++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java
@@ -14,7 +14,7 @@ import org.zwobble.mammoth.internal.docx.ZippedDocxFile;
import org.zwobble.mammoth.internal.html.Html;
import org.zwobble.mammoth.internal.styles.DefaultStyles;
import org.zwobble.mammoth.internal.util.Casts;
-import org.zwobble.mammoth.results.Result;
+import org.zwobble.mammoth.internal.results.InternalResult;
import java.io.File;
import java.io.IOException;
@@ -60,7 +60,7 @@ public class DocumentConverter {
convertToHtml(Optional.of(file.toPath()), zipFile));
}
- private Result<String> convertToHtml(Optional<Path> path, DocxFile zipFile) {
+ private InternalResult<String> convertToHtml(Optional<Path> path, DocxFile zipFile) {
return readDocument(path, zipFile)
.flatMap(nodes -> DocumentToHtml.convertToHtml(nodes, options))
.map(Html::stripEmpty)
diff --git a/src/main/java/org/zwobble/mammoth/Result.java b/src/main/java/org/zwobble/mammoth/Result.java
new file mode 100644
index 0000000..486d155
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/Result.java
@@ -0,0 +1,10 @@
+package org.zwobble.mammoth;
+
+import org.zwobble.mammoth.internal.results.Warning;
+
+import java.util.List;
+
+public interface Result<T> {
+ T getValue();
+ List<Warning> getWarnings();
+}
diff --git a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
index b501800..6c4961a 100644
--- a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
+++ b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
@@ -7,8 +7,8 @@ import com.google.common.io.ByteStreams;
import org.zwobble.mammoth.internal.documents.*;
import org.zwobble.mammoth.internal.html.Html;
import org.zwobble.mammoth.internal.html.HtmlNode;
-import org.zwobble.mammoth.results.Result;
-import org.zwobble.mammoth.results.Warning;
+import org.zwobble.mammoth.internal.results.InternalResult;
+import org.zwobble.mammoth.internal.results.Warning;
import org.zwobble.mammoth.internal.styles.HtmlPath;
import org.zwobble.mammoth.internal.styles.StyleMap;
import org.zwobble.mammoth.internal.util.MammothLists;
@@ -19,14 +19,14 @@ import java.util.Base64;
import java.util.List;
import java.util.Map;
-import static org.zwobble.mammoth.results.Warning.warning;
+import static org.zwobble.mammoth.internal.results.Warning.warning;
import static org.zwobble.mammoth.internal.util.MammothLists.*;
import static org.zwobble.mammoth.internal.util.MammothMaps.map;
public class DocumentToHtml {
- public static Result<List<HtmlNode>> convertToHtml(Document document, DocumentToHtmlOptions options) {
+ public static InternalResult<List<HtmlNode>> convertToHtml(Document document, DocumentToHtmlOptions options) {
DocumentToHtml documentConverter = new DocumentToHtml(options);
- return new Result<>(
+ return new InternalResult<>(
documentConverter.convertToHtml(document),
documentConverter.warnings.build());
}
@@ -38,9 +38,9 @@ public class DocumentToHtml {
reference -> document.getNotes().findNote(reference.getNoteType(), reference.getNoteId()).get()));
}
- public static Result<List<HtmlNode>> convertToHtml(DocumentElement element, DocumentToHtmlOptions options) {
+ public static InternalResult<List<HtmlNode>> convertToHtml(DocumentElement element, DocumentToHtmlOptions options) {
DocumentToHtml documentConverter = new DocumentToHtml(options);
- return new Result<>(
+ return new InternalResult<>(
documentConverter.convertToHtml(element),
documentConverter.warnings.build());
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
index 43a275a..c8aa57e 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
@@ -2,8 +2,8 @@ package org.zwobble.mammoth.internal.docx;
import com.google.common.collect.ImmutableSet;
import org.zwobble.mammoth.internal.documents.*;
-import org.zwobble.mammoth.results.Result;
-import org.zwobble.mammoth.results.Warning;
+import org.zwobble.mammoth.internal.results.InternalResult;
+import org.zwobble.mammoth.internal.results.Warning;
import org.zwobble.mammoth.internal.util.InputStreamSupplier;
import org.zwobble.mammoth.internal.util.MammothOptionals;
import org.zwobble.mammoth.internal.xml.XmlElement;
@@ -19,7 +19,7 @@ import static com.google.common.collect.Iterables.filter;
import static com.google.common.collect.Iterables.transform;
import static org.zwobble.mammoth.internal.docx.ReadResult.EMPTY_SUCCESS;
import static org.zwobble.mammoth.internal.docx.ReadResult.success;
-import static org.zwobble.mammoth.results.Warning.warning;
+import static org.zwobble.mammoth.internal.results.Warning.warning;
import static org.zwobble.mammoth.internal.util.MammothLists.list;
import static org.zwobble.mammoth.internal.util.MammothStrings.trimLeft;
@@ -169,7 +169,7 @@ public class BodyXmlReader {
}
}
- private Result<Optional<Style>> readRunStyle(XmlElementLike properties) {
+ private InternalResult<Optional<Style>> readRunStyle(XmlElementLike properties) {
return readStyle(properties, "w:rStyle", "Run", styles::findCharacterStyleById);
}
@@ -189,11 +189,11 @@ public class BodyXmlReader {
(style, children) -> new Paragraph(style, numbering, children)).appendExtra();
}
- private Result<Optional<Style>> readParagraphStyle(XmlElementLike properties) {
+ private InternalResult<Optional<Style>> readParagraphStyle(XmlElementLike properties) {
return readStyle(properties, "w:pStyle", "Paragraph", styles::findParagraphStyleById);
}
- private Result<Optional<Style>> readStyle(
+ private InternalResult<Optional<Style>> readStyle(
XmlElementLike properties,
String styleTagName,
String styleType,
@@ -201,19 +201,19 @@ public class BodyXmlReader {
{
return readVal(properties, styleTagName)
.map(styleId -> findStyleById(styleType, styleId, findStyleById))
- .orElse(Result.empty());
+ .orElse(InternalResult.empty());
}
- private Result<Optional<Style>> findStyleById(
+ private InternalResult<Optional<Style>> findStyleById(
String styleType,
String styleId,
Function<String, Optional<Style>> findStyleById)
{
Optional<Style> style = findStyleById.apply(styleId);
if (style.isPresent()) {
- return Result.success(style);
+ return InternalResult.success(style);
} else {
- return new Result<>(
+ return new InternalResult<>(
Optional.of(new Style(styleId, Optional.empty())),
list(warning(styleType + " style with ID " + styleId + " was referenced but not defined in the document")));
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java
index 4341bbf..86a0d1a 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java
@@ -2,7 +2,7 @@ package org.zwobble.mammoth.internal.docx;
import org.zwobble.mammoth.internal.documents.Document;
import org.zwobble.mammoth.internal.documents.Notes;
-import org.zwobble.mammoth.results.Result;
+import org.zwobble.mammoth.internal.results.InternalResult;
import org.zwobble.mammoth.internal.util.MammothLists;
import org.zwobble.mammoth.internal.xml.XmlElement;
@@ -21,7 +21,7 @@ public class DocumentReader {
BodyXmlReader forName(String name);
}
- public static Result<Document> readDocument(Optional<Path> path, DocxFile zipFile) {
+ public static InternalResult<Document> readDocument(Optional<Path> path, DocxFile zipFile) {
Styles styles = readStyles(zipFile);
Numbering numbering = readNumbering(zipFile);
ContentTypes contentTypes = readContentTypes(zipFile);
@@ -63,14 +63,14 @@ public class DocumentReader {
}
}
- private static Result<Notes> readNotes(DocxFile file, BodyReaders bodyReaders) {
- return Result.map(
+ private static InternalResult<Notes> readNotes(DocxFile file, BodyReaders bodyReaders) {
+ return InternalResult.map(
tryParseOfficeXml(file, "word/footnotes.xml")
.map(NotesXmlReader.footnote(bodyReaders.forName("footnotes"))::readElement)
- .orElse(Result.success(list())),
+ .orElse(InternalResult.success(list())),
tryParseOfficeXml(file, "word/endnotes.xml")
.map(NotesXmlReader.endnote(bodyReaders.forName("endnotes"))::readElement)
- .orElse(Result.success(list())),
+ .orElse(InternalResult.success(list())),
MammothLists::concat).map(Notes::new);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java
index 3c215fe..be4f474 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentXmlReader.java
@@ -2,7 +2,7 @@ package org.zwobble.mammoth.internal.docx;
import org.zwobble.mammoth.internal.documents.Document;
import org.zwobble.mammoth.internal.documents.Notes;
-import org.zwobble.mammoth.results.Result;
+import org.zwobble.mammoth.internal.results.InternalResult;
import org.zwobble.mammoth.internal.xml.XmlElement;
public class DocumentXmlReader {
@@ -14,7 +14,7 @@ public class DocumentXmlReader {
this.notes = notes;
}
- public Result<Document> readElement(XmlElement element) {
+ public InternalResult<Document> readElement(XmlElement element) {
XmlElement body = element.findChild("w:body");
return bodyReader.readElements(body.children())
.toResult()
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/NotesXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/NotesXmlReader.java
index 2e31aa2..d2ba221 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/NotesXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/NotesXmlReader.java
@@ -1,7 +1,7 @@
package org.zwobble.mammoth.internal.docx;
import org.zwobble.mammoth.internal.documents.NoteType;
-import org.zwobble.mammoth.results.Result;
+import org.zwobble.mammoth.internal.results.InternalResult;
import org.zwobble.mammoth.internal.documents.Note;
import org.zwobble.mammoth.internal.xml.XmlElement;
@@ -29,9 +29,9 @@ public class NotesXmlReader {
this.noteType = noteType;
}
- public Result<List<Note>> readElement(XmlElement element) {
+ public InternalResult<List<Note>> readElement(XmlElement element) {
Iterable<XmlElement> elements = filter(element.findChildren("w:" + tagName), this::isNoteElement);
- return Result.concat(transform(elements, this::readNoteElement));
+ return InternalResult.concat(transform(elements, this::readNoteElement));
}
private boolean isNoteElement(XmlElement element) {
@@ -44,7 +44,7 @@ public class NotesXmlReader {
return type.equals("continuationSeparator") || type.equals("separator");
}
- private Result<Note> readNoteElement(XmlElement element) {
+ private InternalResult<Note> readNoteElement(XmlElement element) {
return bodyReader.readElements(element.children())
.toResult()
.map(children -> new Note(
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java b/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
index 366fd12..b9e4ec9 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
@@ -2,8 +2,8 @@ package org.zwobble.mammoth.internal.docx;
import com.google.common.collect.ImmutableList;
import org.zwobble.mammoth.internal.documents.DocumentElement;
-import org.zwobble.mammoth.results.Result;
-import org.zwobble.mammoth.results.Warning;
+import org.zwobble.mammoth.internal.results.InternalResult;
+import org.zwobble.mammoth.internal.results.Warning;
import java.util.List;
import java.util.function.BiFunction;
@@ -27,7 +27,7 @@ public class ReadResult {
}
public static <T> ReadResult map(
- Result<T> first,
+ InternalResult<T> first,
ReadResult second,
BiFunction<T, List<DocumentElement>, DocumentElement> function)
{
@@ -78,8 +78,8 @@ public class ReadResult {
return new ReadResult(concat(elements, extra), list(), warnings);
}
- public Result<List<DocumentElement>> toResult() {
- return new Result<>(elements, warnings);
+ public InternalResult<List<DocumentElement>> toResult() {
+ return new InternalResult<>(elements, warnings);
}
private static <T> List<T> concat(List<T> first, List<T> second) {
diff --git a/src/main/java/org/zwobble/mammoth/results/Result.java b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
index 063aba4..b3c9ec7 100644
--- a/src/main/java/org/zwobble/mammoth/results/Result.java
+++ b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
@@ -1,4 +1,4 @@
-package org.zwobble.mammoth.results;
+package org.zwobble.mammoth.internal.results;
import com.google.common.collect.ImmutableList;
import org.zwobble.mammoth.internal.documents.Style;
@@ -11,39 +11,39 @@ import java.util.function.Function;
import static org.zwobble.mammoth.internal.util.MammothLists.list;
-public class Result<T> {
- public static <T> Result<List<T>> concat(Iterable<Result<T>> results) {
+public class InternalResult<T> implements org.zwobble.mammoth.Result<T> {
+ public static <T> InternalResult<List<T>> concat(Iterable<InternalResult<T>> results) {
ImmutableList.Builder<T> elements = ImmutableList.builder();
ImmutableList.Builder<Warning> warnings = ImmutableList.builder();
- for (Result<T> result : results) {
+ for (InternalResult<T> result : results) {
elements.add(result.value);
warnings.addAll(result.warnings);
}
- return new Result<>(elements.build(), warnings.build());
+ return new InternalResult<>(elements.build(), warnings.build());
}
- public static <T1, T2, R> Result<R> map(
- Result<T1> first,
- Result<T2> second,
+ public static <T1, T2, R> InternalResult<R> map(
+ InternalResult<T1> first,
+ InternalResult<T2> second,
BiFunction<T1, T2, R> function)
{
- return new Result<>(
+ return new InternalResult<>(
function.apply(first.value, second.value),
MammothLists.concat(first.warnings, second.warnings));
}
- public static Result<Optional<Style>> empty() {
- return new Result<>(Optional.empty(), list());
+ public static InternalResult<Optional<Style>> empty() {
+ return new InternalResult<>(Optional.empty(), list());
}
- public static <T> Result<T> success(T value) {
- return new Result<>(value, list());
+ public static <T> InternalResult<T> success(T value) {
+ return new InternalResult<>(value, list());
}
private final T value;
private final List<Warning> warnings;
- public Result(T value, List<Warning> warnings) {
+ public InternalResult(T value, List<Warning> warnings) {
this.value = value;
this.warnings = warnings;
}
@@ -56,13 +56,13 @@ public class Result<T> {
return warnings;
}
- public <R> Result<R> map(Function<T, R> function) {
- return new Result<>(function.apply(value), warnings);
+ public <R> InternalResult<R> map(Function<T, R> function) {
+ return new InternalResult<>(function.apply(value), warnings);
}
- public <R> Result<R> flatMap(Function<T, Result<R>> function) {
- Result<R> intermediateResult = function.apply(value);
- return new Result<>(
+ public <R> InternalResult<R> flatMap(Function<T, InternalResult<R>> function) {
+ InternalResult<R> intermediateResult = function.apply(value);
+ return new InternalResult<>(
intermediateResult.value,
MammothLists.concat(warnings, intermediateResult.warnings));
}
diff --git a/src/main/java/org/zwobble/mammoth/results/Warning.java b/src/main/java/org/zwobble/mammoth/internal/results/Warning.java
index 25579c2..062860f 100644
--- a/src/main/java/org/zwobble/mammoth/results/Warning.java
+++ b/src/main/java/org/zwobble/mammoth/internal/results/Warning.java
@@ -1,4 +1,4 @@
-package org.zwobble.mammoth.results;
+package org.zwobble.mammoth.internal.results;
public class Warning {
public static Warning warning(String message) {