aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java16
1 files changed, 14 insertions, 2 deletions
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 fa38338..beff7f7 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
@@ -42,11 +42,15 @@ public class ReadResult {
}
public static ReadResult emptyWithWarning(String warning) {
- return new ReadResult(list(), list(), list(warning));
+ return withWarning(list(), warning);
}
public static ReadResult withWarning(DocumentElement element, String warning) {
- return new ReadResult(list(element), list(), list(warning));
+ return withWarning(list(element), warning);
+ }
+
+ public static ReadResult withWarning(List<DocumentElement> elements, String warning) {
+ return new ReadResult(elements, list(), list(warning));
}
private final List<DocumentElement> elements;
@@ -66,6 +70,14 @@ public class ReadResult {
warnings);
}
+ public ReadResult flatMap(Function<List<DocumentElement>, ReadResult> function) {
+ ReadResult result = function.apply(elements);
+ return new ReadResult(
+ result.elements,
+ eagerConcat(extra, result.extra),
+ lazyConcat(warnings, result.warnings));
+ }
+
public ReadResult toExtra() {
return new ReadResult(list(), eagerConcat(extra, elements), warnings);
}