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
All Methods Instance Methods Concrete Methods 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.
-
-
-
Method Detail
-
getClassName
public String getClassName()
Description copied from interface:ExtendedType
Returns a full name of Java class that this ExtendedType supports.- Specified by:
getClassName
in interfaceExtendedType<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 interfaceExtendedType<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 interfaceExtendedType<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 interfaceExtendedType<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 interfaceExtendedType<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()
-
-