Package tech.ydb.yoj.databind.converter
Class EnumOrdinalConverter<E extends Enum<E>>
java.lang.Object
tech.ydb.yoj.databind.converter.EnumOrdinalConverter<E>
- Type Parameters:
E- Java type
- All Implemented Interfaces:
ValueConverter<E,Integer>
public final class EnumOrdinalConverter<E extends Enum<E>>
extends Object
implements ValueConverter<E,Integer>
A generic converter that can be applied to represent your enum values as their
ordinals
instead of their constant names or string representations.
You can use it in a @Column annotation, like this:
@Column(
customValueType=@CustomValueType(
columnClass=Integer.class,
converter=EnumOrdinalConverter.class
)
)
or as a global default for some of your enum type, like this:
@CustomValueType(
columnClass=Integer.class,
converter=EnumOrdinalConverter.class
)
public enum MyEnum {
FOO,
BAR,
}
-
Nested Class Summary
Nested classes/interfaces inherited from interface tech.ydb.yoj.databind.converter.ValueConverter
ValueConverter.NoConverter -
Method Summary
Modifier and TypeMethodDescription@NonNull IntegertoColumn(@NonNull Schema.JavaField field, E value) Converts a field value to adatabase column valuesupported by YOJ.toJava(@NonNull Schema.JavaField field, @NonNull Integer ordinal) Converts a database column value to a Java field value.
-
Method Details
-
toColumn
@NonNull public @NonNull Integer toColumn(@NonNull @NonNull Schema.JavaField field, @NonNull E value) Description copied from interface:ValueConverterConverts a field value to adatabase column valuesupported by YOJ. -
toJava
@NonNull public E toJava(@NonNull @NonNull Schema.JavaField field, @NonNull @NonNull Integer ordinal) Description copied from interface:ValueConverterConverts a database column value to a Java field value.
-