Package org.apache.cayenne.access.types

# 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

- ## Field Summary

  ### Fields inherited from interface org.apache.cayenne.access.types.ExtendedType

  `TRIM_VALUES_THRESHOLD`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExtendedEnumType(Class<T> enumerationClass)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getClassName()`
  Returns a full name of Java class that this ExtendedType supports.
  `Map<Object,Enum<T>>`
  `getEnumerationMappings()`
  Returns the enumeration mapping for this enumerated data type.
  `Object[]`
  `getValues()`
  `T`
  `materializeObject(CallableStatement rs, int index, int type)`
  Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
  `T`
  `materializeObject(ResultSet rs, int index, int type)`
  Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.
  `void`
  `setJdbcObject(PreparedStatement statement, T value, int pos, int type, int precision)`
  Initializes a single parameter of a PreparedStatement with object value.
  `String`
  `toString(T value)`
  Converts value of the supported type to a human-readable String representation.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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()