Skip to content

Commit 447579b

Browse files
committed
#58 Remove duplicate class for standard number types in favor of typed constants on the enum itself
1 parent 5ff30e7 commit 447579b

File tree

9 files changed

+902
-1110
lines changed

9 files changed

+902
-1110
lines changed

src/main/java/ch/jalu/typeresolver/numbers/MoreNumberTypes.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@ public final class MoreNumberTypes {
1111
public static final NumberType<Character> CHARACTER = new CharacterNumberType();
1212

1313
public static final NumberType<AtomicInteger> ATOMIC_INTEGER =
14-
new AtomicNumberType<>(AtomicInteger.class, StandardNumberType.INTEGER, AtomicInteger::new);
14+
new AtomicNumberType<>(AtomicInteger.class, StandardNumberTypeEnum.T_INTEGER, AtomicInteger::new);
1515

1616
public static final NumberType<AtomicLong> ATOMIC_LONG =
17-
new AtomicNumberType<>(AtomicLong.class, StandardNumberType.LONG, AtomicLong::new);
17+
new AtomicNumberType<>(AtomicLong.class, StandardNumberTypeEnum.T_LONG, AtomicLong::new);
1818

1919
private MoreNumberTypes() {
2020
}
2121

2222
private static final class AtomicNumberType<B extends Number, A extends Number> implements NumberType<A> {
2323

2424
private final Class<A> type;
25-
private final StandardNumberType<B> baseType;
25+
private final NumberType<B> baseType;
2626
private final Function<B, A> toAtomicFn;
2727

28-
AtomicNumberType(Class<A> type, StandardNumberType<B> baseType, Function<B, A> toAtomicFn) {
28+
AtomicNumberType(Class<A> type, NumberType<B> baseType, Function<B, A> toAtomicFn) {
2929
this.type = type;
3030
this.baseType = baseType;
3131
this.toAtomicFn = toAtomicFn;
@@ -82,9 +82,9 @@ public Character convertUnsafe(Number number) {
8282

8383
@Override
8484
public ValueRangeComparison compareToValueRange(Number number) {
85-
ValueRangeComparison rangeComparison = StandardNumberType.INTEGER.compareToValueRange(number);
85+
ValueRangeComparison rangeComparison = StandardNumberTypeEnum.T_INTEGER.compareToValueRange(number);
8686
if (rangeComparison == ValueRangeComparison.WITHIN_RANGE) {
87-
int intValue = StandardNumberType.INTEGER.convertUnsafe(number);
87+
int intValue = StandardNumberTypeEnum.T_INTEGER.convertUnsafe(number);
8888
if (intValue > maxValue) {
8989
return ValueRangeComparison.ABOVE_MAXIMUM;
9090
} else if (intValue < minValue) {
@@ -96,7 +96,7 @@ public ValueRangeComparison compareToValueRange(Number number) {
9696

9797
@Override
9898
public Character convertToBounds(Number number) {
99-
int result = StandardNumberType.INTEGER.convertToBounds(number);
99+
int result = StandardNumberTypeEnum.T_INTEGER.convertToBounds(number);
100100
if (result > maxValue) {
101101
return maxValue;
102102
} else if (result < minValue) {

src/main/java/ch/jalu/typeresolver/numbers/NumberType.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
* data about the values the type can represent.
88
* <p>
99
* Standard implementations for basic Java number types are available at
10-
* {@link StandardNumberType} and {@link MoreNumberTypes}.
10+
* {@link StandardNumberTypeEnum} and {@link MoreNumberTypes}.
1111
*
1212
* @param <N>
13-
* @see StandardNumberType
13+
* @see StandardNumberTypeEnum
1414
* @see NumberTypes#from(Class)
1515
*/
1616
public interface NumberType<N> {

src/main/java/ch/jalu/typeresolver/numbers/NumberTypes.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static <T> NumberType<T> from(@Nullable Class<T> clazz) {
2828

2929
public static Stream<NumberType<?>> streamThroughAll() {
3030
return Stream.concat(
31-
StandardNumberType.streamThroughAll(),
31+
StandardNumberTypeEnum.streamThroughAll(),
3232
Stream.of(MoreNumberTypes.CHARACTER, MoreNumberTypes.ATOMIC_INTEGER, MoreNumberTypes.ATOMIC_LONG));
3333
}
3434

src/main/java/ch/jalu/typeresolver/numbers/StandardNumberType.java

-174
This file was deleted.

0 commit comments

Comments
 (0)