From 86207d30715fe000b95b2f8e8b55b59a21aba34b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 24 Feb 2016 21:03:42 +0000 Subject: Turn Result into a minimal interface --- .../java/org/zwobble/mammoth/results/Result.java | 69 ---------------------- 1 file changed, 69 deletions(-) delete mode 100644 src/main/java/org/zwobble/mammoth/results/Result.java (limited to 'src/main/java/org/zwobble/mammoth/results/Result.java') diff --git a/src/main/java/org/zwobble/mammoth/results/Result.java b/src/main/java/org/zwobble/mammoth/results/Result.java deleted file mode 100644 index 063aba4..0000000 --- a/src/main/java/org/zwobble/mammoth/results/Result.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.zwobble.mammoth.results; - -import com.google.common.collect.ImmutableList; -import org.zwobble.mammoth.internal.documents.Style; -import org.zwobble.mammoth.internal.util.MammothLists; - -import java.util.List; -import java.util.Optional; -import java.util.function.BiFunction; -import java.util.function.Function; - -import static org.zwobble.mammoth.internal.util.MammothLists.list; - -public class Result { - public static Result> concat(Iterable> results) { - ImmutableList.Builder elements = ImmutableList.builder(); - ImmutableList.Builder warnings = ImmutableList.builder(); - for (Result result : results) { - elements.add(result.value); - warnings.addAll(result.warnings); - } - return new Result<>(elements.build(), warnings.build()); - } - - public static Result map( - Result first, - Result second, - BiFunction function) - { - return new Result<>( - function.apply(first.value, second.value), - MammothLists.concat(first.warnings, second.warnings)); - } - - public static Result> empty() { - return new Result<>(Optional.empty(), list()); - } - - public static Result success(T value) { - return new Result<>(value, list()); - } - - private final T value; - private final List warnings; - - public Result(T value, List warnings) { - this.value = value; - this.warnings = warnings; - } - - public T getValue() { - return value; - } - - public List getWarnings() { - return warnings; - } - - public Result map(Function function) { - return new Result<>(function.apply(value), warnings); - } - - public Result flatMap(Function> function) { - Result intermediateResult = function.apply(value); - return new Result<>( - intermediateResult.value, - MammothLists.concat(warnings, intermediateResult.warnings)); - } -} -- cgit v1.2.3