org.apache.cayenne.access.types
Class EnumType<T extends Enum<T>>

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

public class EnumType<T extends Enum<T>>
extends Object
implements ExtendedType

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.

Requires Java 1.5 or newer

Since:
1.2

Field Summary
protected  Class<T> enumClass
           
protected  Object[] values
           
 
Constructor Summary
EnumType(Class<T> enumClass)
           
 
Method Summary
 String getClassName()
          Returns a full name of Java class that this ExtendedType supports.
 Object materializeObject(CallableStatement rs, int index, int type)
          Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
 Object 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, Object value, int pos, int type, int precision)
          Initializes a single parameter of a PreparedStatement with object value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

enumClass

protected Class<T extends Enum<T>> enumClass

values

protected Object[] values
Constructor Detail

EnumType

public EnumType(Class<T> enumClass)
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 interface ExtendedType

setJdbcObject

public void setJdbcObject(PreparedStatement statement,
                          Object 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
Throws:
Exception

materializeObject

public Object 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
Throws:
Exception - if read error occurred, or an object can't be converted to a target Java class.

materializeObject

public Object 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
Throws:
Exception - if read error ocurred, or an object can't be converted to a target Java class.


Copyright © 2001-2010 Apache Cayenne. All Rights Reserved.