aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/docx/ReadResult.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/docx/ReadResult.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/docx/ReadResult.java17
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));
}