Class ExtendedEnumType<T extends Enum<T>>

java.lang.Object
org.apache.cayenne.access.types.ExtendedEnumType<T>
All Implemented Interfaces:
ExtendedType<T>

public class ExtendedEnumType<T extends Enum<T>>
extends Object
implements ExtendedType<T>
An ExtendedType that handles a Java Enum based upon the Cayenne ExtendedEnumeration interface. The ExtendedEnumeration interface requires the developer to specify the database values for the Enum being mapped. This ExtendedType is used to auto-register those Enums found in the model.
Since:
3.0
  • Constructor Details

    • ExtendedEnumType

      public ExtendedEnumType​(Class<T> enumerationClass)
  • Method Details

    • getClassName

      public String getClassName()
      Description copied from interface: ExtendedType
      Returns a full name of Java class that this ExtendedType supports.
      Specified by:
      getClassName in interface ExtendedType<T extends Enum<T>>
    • materializeObject

      public T materializeObject​(ResultSet rs, int index, int type) throws Exception
      Description copied from interface: ExtendedType
      Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.
      Specified by:
      materializeObject in interface ExtendedType<T extends Enum<T>>
      Throws:
      Exception - if read error occurred, or an object can't be converted to a target Java class.
    • materializeObject

      public T materializeObject​(CallableStatement rs, int index, int type) throws Exception
      Description copied from interface: ExtendedType
      Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
      Specified by:
      materializeObject in interface ExtendedType<T extends Enum<T>>
      Throws:
      Exception - if read error occurred, or an object can't be converted to a target Java class.
    • setJdbcObject

      public void setJdbcObject​(PreparedStatement statement, T value, int pos, int type, int precision) throws Exception
      Description copied from interface: ExtendedType
      Initializes a single parameter of a PreparedStatement with object value.
      Specified by:
      setJdbcObject in interface ExtendedType<T extends Enum<T>>
      Throws:
      Exception
    • toString

      public String toString​(T value)
      Description copied from interface: ExtendedType
      Converts value of the supported type to a human-readable String representation.
      Specified by:
      toString in interface ExtendedType<T extends Enum<T>>
      Parameters:
      value - a value to convert to String.
    • getEnumerationMappings

      public Map<Object,​Enum<T>> getEnumerationMappings()
      Returns the enumeration mapping for this enumerated data type. The key is the database value, the value is the actual enum.
    • getValues

      public Object[] getValues()