aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-24 21:56:31 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-24 23:24:20 +0000
commit56dad2617a86aeb83cf4f7f56519af621979851d (patch)
tree618e572381fa70f868a03e020c61b38fee4b8028 /src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
parentcc66aa555d68eb33dfceb052e5dc37284e5080bd (diff)
Use Set instead of List for warnings
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
index 279692b..6ca3377 100644
--- a/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
@@ -1,20 +1,22 @@
package org.zwobble.mammoth.internal.results;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
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.Set;
import java.util.function.BiFunction;
import java.util.function.Function;
-import static org.zwobble.mammoth.internal.util.MammothLists.list;
+import static org.zwobble.mammoth.internal.util.MammothSets.set;
public class InternalResult<T> implements org.zwobble.mammoth.Result<T> {
public static <T> InternalResult<List<T>> concat(Iterable<InternalResult<T>> results) {
ImmutableList.Builder<T> elements = ImmutableList.builder();
- ImmutableList.Builder<String> warnings = ImmutableList.builder();
+ ImmutableSet.Builder<String> warnings = ImmutableSet.builder();
for (InternalResult<T> result : results) {
elements.add(result.value);
warnings.addAll(result.warnings);
@@ -29,21 +31,21 @@ public class InternalResult<T> implements org.zwobble.mammoth.Result<T> {
{
return new InternalResult<>(
function.apply(first.value, second.value),
- MammothLists.concat(first.warnings, second.warnings));
+ Sets.union(first.warnings, second.warnings).immutableCopy());
}
public static InternalResult<Optional<Style>> empty() {
- return new InternalResult<>(Optional.empty(), list());
+ return new InternalResult<>(Optional.empty(), set());
}
public static <T> InternalResult<T> success(T value) {
- return new InternalResult<>(value, list());
+ return new InternalResult<>(value, set());
}
private final T value;
- private final List<String> warnings;
+ private final Set<String> warnings;
- public InternalResult(T value, List<String> warnings) {
+ public InternalResult(T value, Set<String> warnings) {
this.value = value;
this.warnings = warnings;
}
@@ -52,7 +54,7 @@ public class InternalResult<T> implements org.zwobble.mammoth.Result<T> {
return value;
}
- public List<String> getWarnings() {
+ public Set<String> getWarnings() {
return warnings;
}
@@ -64,6 +66,6 @@ public class InternalResult<T> implements org.zwobble.mammoth.Result<T> {
InternalResult<R> intermediateResult = function.apply(value);
return new InternalResult<>(
intermediateResult.value,
- MammothLists.concat(warnings, intermediateResult.warnings));
+ Sets.union(warnings, intermediateResult.warnings).immutableCopy());
}
}