Class OrdinalEnumConverter<E extends Enum<E>>

java.lang.Object
cz.cvut.kbss.jopa.oom.converter.OrdinalEnumConverter<E>
Type Parameters:
E - Enum type
All Implemented Interfaces:
AttributeConverter<E,Object>, ConverterWrapper<E,Object>

public class OrdinalEnumConverter<E extends Enum<E>> extends Object implements ConverterWrapper<E,Object>
Built-in converter for mapping to/from enum-valued attributes.

This converter transforms enum constants to/from their ordinal number. It is used for enumerated attributes with EnumType.ORDINAL configuration.

  • Constructor Details

    • OrdinalEnumConverter

      public OrdinalEnumConverter(Class<E> enumType)
  • Method Details

    • convertToAxiomValue

      public Object convertToAxiomValue(E value)
      Description copied from interface: AttributeConverter
      Converts the value stored in the entity attribute into the data representation to be stored in the repository and supported by the OntoDriver API.
      Specified by:
      convertToAxiomValue in interface AttributeConverter<E extends Enum<E>,Object>
      Parameters:
      value - Value to convert
      Returns:
      Converted data
    • convertToAttribute

      public E convertToAttribute(Object value)
      Description copied from interface: AttributeConverter
      Converts the data stored in the repository into the value to be stored in the entity attribute.

      Note that it is the responsibility of the converter writer to specify the correct value type for the corresponding value for use by the OntoDriver: i.e., persistence providers are not expected to do such type conversion.

      Specified by:
      convertToAttribute in interface AttributeConverter<E extends Enum<E>,Object>
      Parameters:
      value - Value to convert
      Returns:
      Converted data
    • supportsAxiomValueType

      public boolean supportsAxiomValueType(Class<?> type)
      Description copied from interface: ConverterWrapper
      Checks whether the wrapped converter supports converting the specified axiom value type.
      Specified by:
      supportsAxiomValueType in interface ConverterWrapper<E extends Enum<E>,Object>
      Parameters:
      type - Axiom value type
      Returns:
      Whether the type is supported by this wrapper