From d2af58b0f68ebfbba2be7e7679efec6c8c0af12f Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 9 Feb 2017 11:50:31 -0500 Subject: Update --- .../bjc/utils/funcutils/CompoundCollector.java | 73 ++++++++++------------ 1 file changed, 32 insertions(+), 41 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/funcutils/CompoundCollector.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcutils/CompoundCollector.java b/BJC-Utils2/src/main/java/bjc/utils/funcutils/CompoundCollector.java index 257f005..de5fe85 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcutils/CompoundCollector.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcutils/CompoundCollector.java @@ -12,77 +12,66 @@ import bjc.utils.data.IPair; import bjc.utils.data.Identity; import bjc.utils.data.Pair; -final class CompoundCollector implements - Collector>, - IPair> { - private Set< - java.util.stream.Collector.Characteristics> characteristicSet; +final class CompoundCollector + implements Collector>, IPair> { - private Collector firstCollector; - private Collector secondCollector; + private Set characteristicSet; + + private Collector first; + private Collector second; public CompoundCollector( - Collector firstCollector, - Collector secondCollector) { - this.firstCollector = firstCollector; - this.secondCollector = secondCollector; + Collector first, + Collector second) { + this.first = first; + this.second = second; - characteristicSet = firstCollector.characteristics(); - characteristicSet.addAll(secondCollector.characteristics()); + characteristicSet = first.characteristics(); + characteristicSet.addAll(second.characteristics()); } @Override - public BiConsumer>, - InitialType> accumulator() { - BiConsumer firstAccumulator = firstCollector - .accumulator(); - BiConsumer secondAccumulator = secondCollector - .accumulator(); + public BiConsumer>, InitialType> accumulator() { + BiConsumer firstAccumulator = first.accumulator(); + BiConsumer secondAccumulator = second.accumulator(); return (state, value) -> { state.doWith((statePair) -> { - statePair.doWith((leftState, rightState) -> { - firstAccumulator.accept(leftState, value); - secondAccumulator.accept(rightState, value); + statePair.doWith((left, right) -> { + firstAccumulator.accept(left, value); + secondAccumulator.accept(right, value); }); }); }; } @Override - public Set< - java.util.stream.Collector.Characteristics> characteristics() { + public Set characteristics() { return characteristicSet; } @Override public BinaryOperator>> combiner() { - BinaryOperator firstCombiner = firstCollector.combiner(); - BinaryOperator< - AuxType2> secondCombiner = secondCollector.combiner(); + BinaryOperator firstCombiner = first.combiner(); + BinaryOperator secondCombiner = second.combiner(); return (leftState, rightState) -> { return leftState.unwrap((leftPair) -> { return rightState.transform((rightPair) -> { - return leftPair.combine(rightPair, firstCombiner, - secondCombiner); + return leftPair.combine(rightPair, firstCombiner, secondCombiner); }); }); }; } @Override - public Function>, - IPair> finisher() { + public Function>, IPair> finisher() { return (state) -> { return state.unwrap((pair) -> { - return pair.bind((leftVal, rightVal) -> { + return pair.bind((left, right) -> { return new Pair<>( - firstCollector.finisher().apply(leftVal), - secondCollector.finisher().apply(rightVal)); + first.finisher().apply(left), + second.finisher().apply(right)); }); }); }; @@ -90,8 +79,10 @@ final class CompoundCollector>> supplier() { - return () -> new Identity<>( - new Pair<>(firstCollector.supplier().get(), - secondCollector.supplier().get())); + return () -> { + return new Identity<>(new Pair<>( + first.supplier().get(), + second.supplier().get())); + }; } -} \ No newline at end of file +} -- cgit v1.2.3