Skip to content

Commit

Permalink
Renamed ITypeResolver to IProvider
Browse files Browse the repository at this point in the history
  • Loading branch information
lyubomyr-shaydariv committed Sep 26, 2024
1 parent e2ffa8d commit dd026a9
Show file tree
Hide file tree
Showing 15 changed files with 68 additions and 68 deletions.
14 changes: 7 additions & 7 deletions src/main/java/lsh/ext/gson/ITypeAdapterFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public interface ITypeAdapterFactory<K>
@Nullable
<T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken);

interface ITypeResolver<K> {
interface IProvider<K> {

TypeToken<K> getTypeToken();

Expand All @@ -30,7 +30,7 @@ interface ITypeResolver<K> {
}

@SuppressWarnings("NewClassNamingConvention")
static <K extends RAW_K, RAW_K> ITypeAdapterFactory<K> forClass(final Class<RAW_K> klass, final Function<? super ITypeResolver<K>, ? extends TypeAdapter<K>> createTypeAdapter) {
static <K extends RAW_K, RAW_K> ITypeAdapterFactory<K> forClass(final Class<RAW_K> klass, final Function<? super IProvider<K>, ? extends TypeAdapter<K>> createTypeAdapter) {
return new ITypeAdapterFactory<>() {
@Nullable
@Override
Expand All @@ -40,7 +40,7 @@ public <T> TypeAdapter<T> create(final Gson gson, final TypeToken<T> typeToken)
}
@SuppressWarnings("unchecked")
final TypeToken<K> castTypeToken = (TypeToken<K>) typeToken;
final ITypeResolver<K> typeResolver = new ITypeResolver<K>() {
final IProvider<K> provider = new IProvider<>() {
private final Type type = castTypeToken.getType();

@Override
Expand All @@ -67,14 +67,14 @@ public <T> TypeAdapter<T> getTypeAdapterForClass(final Class<T> klass) {
}
};
@SuppressWarnings("unchecked")
final TypeAdapter<T> castTypeAdapter = (TypeAdapter<T>) createTypeAdapter.apply(typeResolver);
final TypeAdapter<T> castTypeAdapter = (TypeAdapter<T>) createTypeAdapter.apply(provider);
return castTypeAdapter;
}
};
}

@SuppressWarnings("NewClassNamingConvention")
static <K extends RAW_K, RAW_K> ITypeAdapterFactory<K> forClassHierarchy(final Class<? extends RAW_K> klass, final Function<? super ITypeResolver<K>, ? extends TypeAdapter<K>> createTypeAdapter) {
static <K extends RAW_K, RAW_K> ITypeAdapterFactory<K> forClassHierarchy(final Class<? extends RAW_K> klass, final Function<? super IProvider<K>, ? extends TypeAdapter<K>> createTypeAdapter) {
return new ITypeAdapterFactory<>() {
@Nullable
@Override
Expand All @@ -84,7 +84,7 @@ public <T> TypeAdapter<T> create(final Gson gson, final TypeToken<T> typeToken)
}
@SuppressWarnings("unchecked")
final TypeToken<K> castTypeToken = (TypeToken<K>) typeToken;
final ITypeResolver<K> typeResolver = new ITypeResolver<K>() {
final IProvider<K> provider = new IProvider<>() {
private final Type type = castTypeToken.getType();

@Override
Expand All @@ -111,7 +111,7 @@ public <T> TypeAdapter<T> getTypeAdapterForClass(final Class<T> klass) {
}
};
@SuppressWarnings("unchecked")
final TypeAdapter<T> castTypeAdapter = (TypeAdapter<T>) createTypeAdapter.apply(typeResolver);
final TypeAdapter<T> castTypeAdapter = (TypeAdapter<T>) createTypeAdapter.apply(provider);
return castTypeAdapter;
}
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ public final class EncodingTypeAdapterFactory {
public static ITypeAdapterFactory<byte[]> urlForPrimitiveByteArray = forPrimitiveByteArray(EncodingTypeAdapter.urlForPrimitiveByteArray);

public static ITypeAdapterFactory<byte[]> forPrimitiveByteArray(final TypeAdapter<byte[]> typeAdapter) {
return ITypeAdapterFactory.forClass(byte[].class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(byte[].class, provider -> typeAdapter);
}

public static ITypeAdapterFactory<char[]> forPrimitiveCharArray(final TypeAdapter<char[]> typeAdapter) {
return ITypeAdapterFactory.forClass(char[].class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(char[].class, provider -> typeAdapter);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,40 +15,40 @@ public final class UnixTimeTypeAdapterFactory {

@SuppressWarnings("UseOfObsoleteDateTimeApi")
public static ITypeAdapterFactory<java.util.Date> forJavaUtilDate(final TypeAdapter<java.util.Date> typeAdapter) {
return ITypeAdapterFactory.forClass(java.util.Date.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(java.util.Date.class, provider -> typeAdapter);
}
public static final ITypeAdapterFactory<java.sql.Date> defaultForJavaSqlDate = forJavaSqlDate(UnixTimeTypeAdapter.defaultForJavaSqlDate);

public static ITypeAdapterFactory<java.sql.Date> forJavaSqlDate(final TypeAdapter<java.sql.Date> typeAdapter) {
return ITypeAdapterFactory.forClass(java.sql.Date.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(java.sql.Date.class, provider -> typeAdapter);
}

@SuppressWarnings("UnnecessaryFullyQualifiedName")
public static final ITypeAdapterFactory<java.sql.Time> defaultForJavaSqlTime = forJavaSqlTime(UnixTimeTypeAdapter.defaultForJavaSqlTime);

@SuppressWarnings("UnnecessaryFullyQualifiedName")
public static ITypeAdapterFactory<java.sql.Time> forJavaSqlTime(final TypeAdapter<java.sql.Time> typeAdapter) {
return ITypeAdapterFactory.forClass(java.sql.Time.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(java.sql.Time.class, provider -> typeAdapter);
}

@SuppressWarnings("UnnecessaryFullyQualifiedName")
public static final ITypeAdapterFactory<java.sql.Timestamp> defaultForJavaSqlTimestamp = forJavaSqlTimestamp(UnixTimeTypeAdapter.defaultForJavaSqlTimestamp);

@SuppressWarnings("UnnecessaryFullyQualifiedName")
public static ITypeAdapterFactory<java.sql.Timestamp> forJavaSqlTimestamp(final TypeAdapter<java.sql.Timestamp> typeAdapter) {
return ITypeAdapterFactory.forClass(java.sql.Timestamp.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(java.sql.Timestamp.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<Instant> defaultForJavaTimeInstant = forJavaTimeInstant(UnixTimeTypeAdapter.forJavaTimeInstant);

public static ITypeAdapterFactory<Instant> forJavaTimeInstant(final TypeAdapter<Instant> typeAdapter) {
return ITypeAdapterFactory.forClass(Instant.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(Instant.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<OffsetDateTime> defaultForOffsetDateTime = forJavaTimeOffsetDateTime(UnixTimeTypeAdapter.forJavaTimeOffsetDateTime);

public static ITypeAdapterFactory<OffsetDateTime> forJavaTimeOffsetDateTime(final TypeAdapter<OffsetDateTime> typeAdapter) {
return ITypeAdapterFactory.forClass(OffsetDateTime.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(OffsetDateTime.class, provider -> typeAdapter);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
@UtilityClass
public final class OptionalTypeAdapterFactory {

public static ITypeAdapterFactory<Optional<Object>> defaultForOptional = ITypeAdapterFactory.forClassHierarchy(Optional.class, typeResolver -> OptionalTypeAdapter.getInstance(typeResolver.getTypeAdapter(0)));
public static ITypeAdapterFactory<Optional<Object>> defaultForOptional = ITypeAdapterFactory.forClassHierarchy(Optional.class, provider -> OptionalTypeAdapter.getInstance(provider.getTypeAdapter(0)));

}
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ public static <K, V, C extends Cache<K, V>> ITypeAdapterFactory<C> forCache(
) {
return ITypeAdapterFactory.forClassHierarchy(
klass,
typeResolver -> GuavaCacheTypeAdapter.forCache(
typeResolver.getTypeAdapter(1),
provider -> GuavaCacheTypeAdapter.forCache(
provider.getTypeAdapter(1),
toName,
fromName,
getCache
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ public static <K, V> ITypeAdapterFactory<BiMap<K, V>> forBiMap(
final Function<? super K, String> encodeKey,
final Function<? super String, ? extends K> decodeKey
) {
return ITypeAdapterFactory.forClassHierarchy(BiMap.class, typeResolver -> GuavaCollectTypeAdapter.forBiMap(
typeResolver.getTypeAdapter(1),
lookup.lookup(typeResolver.getTypeToken()),
return ITypeAdapterFactory.forClassHierarchy(BiMap.class, provider -> GuavaCollectTypeAdapter.forBiMap(
provider.getTypeAdapter(1),
lookup.lookup(provider.getTypeToken()),
encodeKey,
decodeKey
));
Expand Down Expand Up @@ -74,9 +74,9 @@ public static <K, V> ITypeAdapterFactory<Multimap<K, V>> forMultimap(
final Function<? super K, String> encodeKey,
final Function<? super String, ? extends K> decodeKey
) {
return ITypeAdapterFactory.forClassHierarchy(Multimap.class, typeResolver -> GuavaCollectTypeAdapter.forMultimap(
typeResolver.getTypeAdapter(1),
lookup.lookup(typeResolver.getTypeToken()),
return ITypeAdapterFactory.forClassHierarchy(Multimap.class, provider -> GuavaCollectTypeAdapter.forMultimap(
provider.getTypeAdapter(1),
lookup.lookup(provider.getTypeToken()),
encodeKey,
decodeKey
));
Expand All @@ -103,9 +103,9 @@ public static <K, V> Supplier<IBuilder2<K, V, Multimap<K, V>>> defaultBuilderFac
public static <E> ITypeAdapterFactory<Multiset<E>> forMultiset(
final IBuilder1.ILookup<? super E, ? extends Multiset<E>> lookup
) {
return ITypeAdapterFactory.forClassHierarchy(Multiset.class, typeResolver -> GuavaCollectTypeAdapter.forMultiset(
typeResolver.getTypeAdapter(0),
lookup.lookup(typeResolver.getTypeToken())
return ITypeAdapterFactory.forClassHierarchy(Multiset.class, provider -> GuavaCollectTypeAdapter.forMultiset(
provider.getTypeAdapter(0),
lookup.lookup(provider.getTypeToken())
));
}

Expand Down Expand Up @@ -134,9 +134,9 @@ public static <R, C, V> ITypeAdapterFactory<Table<R, C, V>> forTable(
final Function<? super C, String> encodeColumnKey,
final Function<? super String, ? extends C> decodeColumnKey
) {
return ITypeAdapterFactory.forClassHierarchy(Table.class, typeResolver -> TableTypeAdapter.getInstance(
typeResolver.getTypeAdapter(0),
builderLookup.lookup(typeResolver.getTypeToken()),
return ITypeAdapterFactory.forClassHierarchy(Table.class, provider -> TableTypeAdapter.getInstance(
provider.getTypeAdapter(0),
builderLookup.lookup(provider.getTypeToken()),
encodeRowKey,
decodeRowKey,
encodeColumnKey,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ public final class GuavaPrimitivesTypeAdapterFactory {
public static final ITypeAdapterFactory<ImmutableDoubleArray> defaultForImmutableDoubleArray = forImmutableDoubleArray(ImmutableDoubleArrayTypeAdapter.getInstance());

public static ITypeAdapterFactory<ImmutableDoubleArray> forImmutableDoubleArray(final TypeAdapter<ImmutableDoubleArray> typeAdapter) {
return ITypeAdapterFactory.forClassHierarchy(ImmutableDoubleArray.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClassHierarchy(ImmutableDoubleArray.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<ImmutableIntArray> defaultForImmutableIntegerArray = forImmutableIntArray(ImmutableIntArrayTypeAdapter.getInstance());

public static ITypeAdapterFactory<ImmutableIntArray> forImmutableIntArray(final TypeAdapter<ImmutableIntArray> typeAdapter) {
return ITypeAdapterFactory.forClassHierarchy(ImmutableIntArray.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClassHierarchy(ImmutableIntArray.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<ImmutableLongArray> defaultForImmutableLongArray = forImmutableLongArray(ImmutableLongArrayTypeAdapter.getInstance());

public static ITypeAdapterFactory<ImmutableLongArray> forImmutableLongArray(final TypeAdapter<ImmutableLongArray> typeAdapter) {
return ITypeAdapterFactory.forClassHierarchy(ImmutableLongArray.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClassHierarchy(ImmutableLongArray.class, provider -> typeAdapter);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public final class JakartaJsonTypeAdapterFactory {
public static ITypeAdapterFactory<JsonValue> defaultForJsonValue = forJsonValue(JakartaJsonValueTypeAdapter.getInstance(JsonProvider.provider()));

public static ITypeAdapterFactory<JsonValue> forJsonValue(final TypeAdapter<JsonValue> typeAdapter) {
return ITypeAdapterFactory.forClassHierarchy(JsonValue.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClassHierarchy(JsonValue.class, provider -> typeAdapter);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -25,85 +25,85 @@ public final class Java8TimeTypeAdapterFactory {
public static final ITypeAdapterFactory<DayOfWeek> defaultForDayOfWeek = forDayOfWeek(Java8TimeTypeAdapter.defaultForDayOfWeek);

public static ITypeAdapterFactory<DayOfWeek> forDayOfWeek(final TypeAdapter<DayOfWeek> typeAdapter) {
return ITypeAdapterFactory.forClass(DayOfWeek.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(DayOfWeek.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<Duration> defaultForDuration = forDuration(Java8TimeTypeAdapter.defaultForDuration);

public static ITypeAdapterFactory<Duration> forDuration(final TypeAdapter<Duration> typeAdapter) {
return ITypeAdapterFactory.forClass(Duration.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(Duration.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<Instant> defaultForInstant = forInstant(Java8TimeTypeAdapter.defaultForInstant);

public static ITypeAdapterFactory<Instant> forInstant(final TypeAdapter<Instant> typeAdapter) {
return ITypeAdapterFactory.forClass(Instant.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(Instant.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<LocalDateTime> defaultForLocalDateTime = forLocalDateTime(Java8TimeTypeAdapter.defaultForLocalDateTime);

public static ITypeAdapterFactory<LocalDateTime> forLocalDateTime(final TypeAdapter<LocalDateTime> typeAdapter) {
return ITypeAdapterFactory.forClass(LocalDateTime.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(LocalDateTime.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<LocalDate> defaultForLocalDate = forLocalDate(Java8TimeTypeAdapter.defaultForLocalDate);

public static ITypeAdapterFactory<LocalDate> forLocalDate(final TypeAdapter<LocalDate> typeAdapter) {
return ITypeAdapterFactory.forClass(LocalDate.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(LocalDate.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<LocalTime> defaultForLocalTime = forLocalTime(Java8TimeTypeAdapter.defaultForLocalTime);

public static ITypeAdapterFactory<LocalTime> forLocalTime(final TypeAdapter<LocalTime> typeAdapter) {
return ITypeAdapterFactory.forClass(LocalTime.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(LocalTime.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<MonthDay> defaultForMonthDay = forMonthDay(Java8TimeTypeAdapter.defaulFortMonthDay);

public static ITypeAdapterFactory<MonthDay> forMonthDay(final TypeAdapter<MonthDay> typeAdapter) {
return ITypeAdapterFactory.forClass(MonthDay.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(MonthDay.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<Month> defaultForMonth = forMonth(Java8TimeTypeAdapter.defaultForMonth);

public static ITypeAdapterFactory<Month> forMonth(final TypeAdapter<Month> typeAdapter) {
return ITypeAdapterFactory.forClass(Month.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(Month.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<OffsetDateTime> defaultForOffsetDateTime = forOffsetDateTime(Java8TimeTypeAdapter.defaultForOffsetDateTime);

public static ITypeAdapterFactory<OffsetDateTime> forOffsetDateTime(final TypeAdapter<OffsetDateTime> typeAdapter) {
return ITypeAdapterFactory.forClass(OffsetDateTime.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(OffsetDateTime.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<OffsetTime> defaultForOffsetTime = forOffsetTime(Java8TimeTypeAdapter.defaultForOffsetTime);

public static ITypeAdapterFactory<OffsetTime> forOffsetTime(final TypeAdapter<OffsetTime> typeAdapter) {
return ITypeAdapterFactory.forClass(OffsetTime.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(OffsetTime.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<Period> defaultForPeriod = forPeriod(Java8TimeTypeAdapter.defaultForPeriod);

public static ITypeAdapterFactory<Period> forPeriod(final TypeAdapter<Period> typeAdapter) {
return ITypeAdapterFactory.forClass(Period.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(Period.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<YearMonth> defaultForYearMonth = forYearMonth(Java8TimeTypeAdapter.defaultForYearMonth);

public static ITypeAdapterFactory<YearMonth> forYearMonth(final TypeAdapter<YearMonth> typeAdapter) {
return ITypeAdapterFactory.forClass(YearMonth.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(YearMonth.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<Year> defaultForYear = forYear(Java8TimeTypeAdapter.defaultForYear);

public static ITypeAdapterFactory<Year> forYear(final TypeAdapter<Year> typeAdapter) {
return ITypeAdapterFactory.forClass(Year.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(Year.class, provider -> typeAdapter);
}

public static final ITypeAdapterFactory<ZonedDateTime> defaultForZonedDateTime = forZonedDateTime(Java8TimeTypeAdapter.defaultForZonedDateTime);

public static ITypeAdapterFactory<ZonedDateTime> forZonedDateTime(final TypeAdapter<ZonedDateTime> typeAdapter) {
return ITypeAdapterFactory.forClass(ZonedDateTime.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(ZonedDateTime.class, provider -> typeAdapter);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,32 @@ public final class OptionalTypeAdapterFactory {
public static ITypeAdapterFactory<Optional<Object>> defaultForOptional = forOptional();

public static <T> ITypeAdapterFactory<Optional<T>> forOptional() {
return ITypeAdapterFactory.forClass(Optional.class, typeResolver -> OptionalTypeAdapter.getInstance(typeResolver.getTypeAdapter(0)));
return ITypeAdapterFactory.forClass(Optional.class, provider -> OptionalTypeAdapter.getInstance(provider.getTypeAdapter(0)));
}

public static <T> ITypeAdapterFactory<Optional<T>> forOptional(final TypeAdapter<Optional<T>> typeAdapter) {
return ITypeAdapterFactory.forClass(Optional.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(Optional.class, provider -> typeAdapter);
}

@Getter
private static final ITypeAdapterFactory<OptionalDouble> defaultForOptionalDouble = forOptionalDouble(OptionalDoubleTypeAdapter.getInstance());

public static ITypeAdapterFactory<OptionalDouble> forOptionalDouble(final TypeAdapter<OptionalDouble> typeAdapter) {
return ITypeAdapterFactory.forClass(OptionalDouble.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(OptionalDouble.class, provider -> typeAdapter);
}

@Getter
private static final ITypeAdapterFactory<OptionalInt> defaultForOptionalInt = forOptionalInt(OptionalIntTypeAdapter.getInstance());

public static ITypeAdapterFactory<OptionalInt> forOptionalInt(final TypeAdapter<OptionalInt> typeAdapter) {
return ITypeAdapterFactory.forClass(OptionalInt.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(OptionalInt.class, provider -> typeAdapter);
}

@Getter
private static final ITypeAdapterFactory<OptionalLong> defaultForOptionalLong = forOptionalLong(OptionalLongTypeAdapter.getInstance());

public static ITypeAdapterFactory<OptionalLong> forOptionalLong(final TypeAdapter<OptionalLong> typeAdapter) {
return ITypeAdapterFactory.forClass(OptionalLong.class, typeResolver -> typeAdapter);
return ITypeAdapterFactory.forClass(OptionalLong.class, provider -> typeAdapter);
}

}
Loading

0 comments on commit dd026a9

Please sign in to comment.