Skip to content

Commit 1363ebd

Browse files
committed
refactor: add CelestialCollector utility class
1 parent cd556f3 commit 1363ebd

File tree

3 files changed

+9
-98
lines changed

3 files changed

+9
-98
lines changed

src/main/java/micdoodle8/mods/galacticraft/api/util/stream/Accumulator.java

Lines changed: 0 additions & 82 deletions
This file was deleted.

src/main/java/micdoodle8/mods/galacticraft/api/util/stream/Accumulators.java renamed to src/main/java/micdoodle8/mods/galacticraft/api/util/stream/CelestialCollector.java

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,15 @@
1212

1313
import micdoodle8.mods.galacticraft.api.galaxies.CelestialObject;
1414
import micdoodle8.mods.galacticraft.core.util.list.CelestialList;
15-
import micdoodle8.mods.galacticraft.core.util.list.ImmutableCelestialList;
1615

1716
import lombok.experimental.UtilityClass;
1817

19-
import static java.util.stream.Collector.Characteristics.CONCURRENT;
2018
import 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
}

src/main/java/micdoodle8/mods/galacticraft/core/util/list/CelestialList.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,9 @@ public Map<String, T> getRegistered()
7575
{
7676
return ImmutableMap.copyOf(this.celestialListMap);
7777
}
78+
79+
public ImmutableCelestialList<T> toUnmodifiableList()
80+
{
81+
return ImmutableCelestialList.unmodifiable(this);
82+
}
7883
}

0 commit comments

Comments
 (0)