1212
1313import micdoodle8 .mods .galacticraft .api .galaxies .CelestialObject ;
1414import micdoodle8 .mods .galacticraft .core .util .list .CelestialList ;
15- import micdoodle8 .mods .galacticraft .core .util .list .ImmutableCelestialList ;
1615
1716import lombok .experimental .UtilityClass ;
1817
19- import static java .util .stream .Collector .Characteristics .CONCURRENT ;
2018import static java .util .stream .Collector .Characteristics .IDENTITY_FINISH ;
21- import static java .util .stream .Collector .Characteristics .UNORDERED ;
2219
2320@ UtilityClass
24- public final class Accumulators
21+ public final class CelestialCollector
2522{
26- static final Set <Accumulator .Characteristics > CH_CONCURRENT_ID = from (CONCURRENT , UNORDERED , IDENTITY_FINISH );
27- static final Set <Accumulator .Characteristics > CH_CONCURRENT_NOID = from (CONCURRENT , UNORDERED );
28- static final Set <Accumulator .Characteristics > CH_ID = from (IDENTITY_FINISH );
29- static final Set <Accumulator .Characteristics > CH_UNORDERED_ID = from (UNORDERED , IDENTITY_FINISH );
30- static final Set <Accumulator .Characteristics > CH_NOID = Collections .emptySet ();
23+ static final Set <Collector .Characteristics > CH_ID = from (IDENTITY_FINISH );
3124
3225 static final Set <Collector .Characteristics > from (Collector .Characteristics ... arr )
3326 {
@@ -41,7 +34,7 @@ private static <I, R> Function<I, R> castingIdentity()
4134 }
4235
4336 //@noformat
44- static class AccumulatorImpl <T , A , R > implements Accumulator <T , A , R > {
37+ static class AccumulatorImpl <T , A , R > implements Collector <T , A , R > {
4538 private final Supplier <A > supplier ;
4639 private final BiConsumer <A , T > accumulator ;
4740 private final BinaryOperator <A > combiner ;
@@ -94,12 +87,7 @@ public Set<Characteristics> characteristics() {
9487 }
9588
9689 public static <T extends CelestialObject >
97- Accumulator <T , ?, CelestialList <T >> celestialList () {
90+ Collector <T , ?, CelestialList <T >> toList () {
9891 return new AccumulatorImpl <>((Supplier <CelestialList <T >>) CelestialList ::new , CelestialList ::add , (left , right ) -> { left .addAll (right ); return left ; }, CH_ID );
9992 }
100-
101- public static <T extends CelestialObject >
102- Accumulator <T , ?, ImmutableCelestialList <T >> toImmutableCelestialList () {
103- return new AccumulatorImpl <>((Supplier <ImmutableCelestialList <T >>) ImmutableCelestialList ::new , ImmutableCelestialList ::add , (left , right ) -> { left .addAll (right ); return left ; }, CH_ID );
104- }
10593}
0 commit comments