diff options
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.java | 16 |
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); } |
