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 StringgetClassName()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()TmaterializeObject(CallableStatement rs, int index, int type)Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.TmaterializeObject(ResultSet rs, int index, int type)Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.voidsetJdbcObject(PreparedStatement statement, T value, int pos, int type, int precision)Initializes a single parameter of a PreparedStatement with object value.StringtoString(T value)Converts value of the supported type to a human-readable String representation.
-
-
-
Method Detail
-
getClassName
public String getClassName()
Description copied from interface:ExtendedTypeReturns a full name of Java class that this ExtendedType supports.- Specified by:
getClassNamein interfaceExtendedType<T extends Enum<T>>
-
materializeObject
public T materializeObject(ResultSet rs, int index, int type) throws Exception
Description copied from interface:ExtendedTypeReads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.- Specified by:
materializeObjectin 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:ExtendedTypeReads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.- Specified by:
materializeObjectin 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:ExtendedTypeInitializes a single parameter of a PreparedStatement with object value.- Specified by:
setJdbcObjectin interfaceExtendedType<T extends Enum<T>>- Throws:
Exception
-
toString
public String toString(T value)
Description copied from interface:ExtendedTypeConverts value of the supported type to a human-readable String representation.- Specified by:
toStringin 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()
-
-