diff options
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/docx/ReadResult.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/docx/ReadResult.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/mammoth/docx/ReadResult.java b/src/main/java/org/zwobble/mammoth/docx/ReadResult.java index 9fd2e6c..7c672b2 100644 --- a/src/main/java/org/zwobble/mammoth/docx/ReadResult.java +++ b/src/main/java/org/zwobble/mammoth/docx/ReadResult.java @@ -1,11 +1,12 @@ package org.zwobble.mammoth.docx; import com.google.common.collect.ImmutableList; -import org.zwobble.mammoth.results.Result; import org.zwobble.mammoth.documents.DocumentElement; +import org.zwobble.mammoth.results.Result; import org.zwobble.mammoth.results.Warning; import java.util.List; +import java.util.function.BiFunction; import java.util.function.Function; import static org.zwobble.mammoth.util.MammothLists.list; @@ -23,6 +24,20 @@ public class ReadResult { return new ReadResult(elements.build(), warnings.build()); } + public static <T> ReadResult map( + Result<T> first, + ReadResult second, + BiFunction<T, List<DocumentElement>, DocumentElement> function) + { + ImmutableList.Builder<Warning> warnings = ImmutableList.builder(); + warnings.addAll(first.getWarnings()); + warnings.addAll(second.warnings); + + return new ReadResult( + list(function.apply(first.getValue(), second.elements)), + warnings.build()); + } + public static ReadResult success(DocumentElement element) { return success(list(element)); } |
