Package org.dalesbred.conversion
Interface TypeConversionRegistry
-
public interface TypeConversionRegistry
Registry containing the type-conversions used when converting database values to model values and vice versa.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <S,T>
voidregisterConversionFromDatabase(@NotNull java.lang.Class<S> source, @NotNull java.lang.Class<T> target, @NotNull java.util.function.Function<S,T> conversion)
Registers conversion from given source database type to given target model type.default <D,J>
voidregisterConversions(@NotNull java.lang.Class<D> databaseType, @NotNull java.lang.Class<J> javaType, @NotNull java.util.function.Function<D,J> fromDatabase, @NotNull java.util.function.Function<J,D> toDatabase)
Registers conversions from database type to model type and back.<T> void
registerConversionToDatabase(@NotNull java.lang.Class<T> source, @NotNull java.util.function.Function<T,?> conversion)
Registers conversion from given source model type to database type.<T extends java.lang.Enum<T>,K>
voidregisterEnumConversion(@NotNull java.lang.Class<T> enumType, @NotNull java.util.function.Function<T,K> keyFunction)
Registers simple enum conversion that uses keyFunction to produce saved value and uses same function on enum constants to convert values back.default <T extends java.lang.Enum<T>>
voidregisterNativeEnumConversion(@NotNull java.lang.Class<T> enumType, @NotNull java.lang.String typeName)
Returns given enum-type to be saved as database native enum of given type name.<T extends java.lang.Enum<T>,K>
voidregisterNativeEnumConversion(@NotNull java.lang.Class<T> enumType, @NotNull java.lang.String typeName, @NotNull java.util.function.Function<T,K> keyFunction)
Returns given enum-type to be saved as database native enum of given type name.
-
-
-
Method Detail
-
registerConversionFromDatabase
<S,T> void registerConversionFromDatabase(@NotNull @NotNull java.lang.Class<S> source, @NotNull @NotNull java.lang.Class<T> target, @NotNull @NotNull java.util.function.Function<S,T> conversion)
Registers conversion from given source database type to given target model type.
-
registerConversionToDatabase
<T> void registerConversionToDatabase(@NotNull @NotNull java.lang.Class<T> source, @NotNull @NotNull java.util.function.Function<T,?> conversion)
Registers conversion from given source model type to database type.
-
registerConversions
default <D,J> void registerConversions(@NotNull @NotNull java.lang.Class<D> databaseType, @NotNull @NotNull java.lang.Class<J> javaType, @NotNull @NotNull java.util.function.Function<D,J> fromDatabase, @NotNull @NotNull java.util.function.Function<J,D> toDatabase)
Registers conversions from database type to model type and back.
-
registerEnumConversion
<T extends java.lang.Enum<T>,K> void registerEnumConversion(@NotNull @NotNull java.lang.Class<T> enumType, @NotNull @NotNull java.util.function.Function<T,K> keyFunction)
Registers simple enum conversion that uses keyFunction to produce saved value and uses same function on enum constants to convert values back.
-
registerNativeEnumConversion
default <T extends java.lang.Enum<T>> void registerNativeEnumConversion(@NotNull @NotNull java.lang.Class<T> enumType, @NotNull @NotNull java.lang.String typeName)
Returns given enum-type to be saved as database native enum of given type name.
-
registerNativeEnumConversion
<T extends java.lang.Enum<T>,K> void registerNativeEnumConversion(@NotNull @NotNull java.lang.Class<T> enumType, @NotNull @NotNull java.lang.String typeName, @NotNull @NotNull java.util.function.Function<T,K> keyFunction)
Returns given enum-type to be saved as database native enum of given type name. Given function can be used to map the enum to the stored value.
-
-