Class EnumType<T extends Enum<T>>

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

public class EnumType<T extends Enum<T>> extends Object implements ExtendedType<T>
An ExtendedType that handles an enum class. If Enum is mapped to a character column, its name is used as persistent value; if it is mapped to a numeric column, its ordinal (i.e. a position in enum class) is used.
Since:
1.2
  • Field Details

    • enumClass

      protected Class<T extends Enum<T>> enumClass
    • values

      protected T extends Enum<T>[] values
    • canonicalName

      protected String canonicalName
  • Constructor Details

    • EnumType

      public EnumType(Class<T> enumClass)
  • 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>>
    • 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
    • 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.
    • 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.