Package org.apache.cayenne.access.types
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 Summary
Fields Modifier and Type Field Description protected String
canonicalName
protected Class<T>
enumClass
protected T[]
values
-
Fields inherited from interface org.apache.cayenne.access.types.ExtendedType
TRIM_VALUES_THRESHOLD
-
-
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.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>>
-
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
-
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.
-
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.
-
-