org.apache.cayenne.access.types
Class ExtendedEnumType<T extends java.lang.Enum<T>>

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

public class ExtendedEnumType<T extends java.lang.Enum<T>>
extends java.lang.Object
implements ExtendedType

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

Constructor Summary
ExtendedEnumType(java.lang.Class<T> enumerationClass)
           
 
Method Summary
 java.lang.String getClassName()
          Returns a full name of Java class that this ExtendedType supports.
 java.util.Map<java.lang.Object,java.lang.Enum<T>> getEnumerationMappings()
          Returns the enumeration mapping for this enumerated data type.
 java.lang.Object[] getValues()
           
 java.lang.Object materializeObject(java.sql.CallableStatement rs, int index, int type)
          Reads an object from a stored procedure OUT parameter, converting it to class returned by 'getClassName' method.
 java.lang.Object materializeObject(java.sql.ResultSet rs, int index, int type)
          Reads an object from JDBC ResultSet column, converting it to class returned by 'getClassName' method.
 void setJdbcObject(java.sql.PreparedStatement statement, java.lang.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
 

Constructor Detail

ExtendedEnumType

public ExtendedEnumType(java.lang.Class<T> enumerationClass)
Method Detail

getClassName

public java.lang.String getClassName()
Description copied from interface: ExtendedType
Returns a full name of Java class that this ExtendedType supports.

Specified by:
getClassName in interface ExtendedType

materializeObject

public java.lang.Object materializeObject(java.sql.ResultSet rs,
                                          int index,
                                          int type)
                                   throws java.lang.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:
java.lang.Exception - if read error occurred, or an object can't be converted to a target Java class.

materializeObject

public java.lang.Object materializeObject(java.sql.CallableStatement rs,
                                          int index,
                                          int type)
                                   throws java.lang.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:
java.lang.Exception - if read error ocurred, or an object can't be converted to a target Java class.

setJdbcObject

public void setJdbcObject(java.sql.PreparedStatement statement,
                          java.lang.Object value,
                          int pos,
                          int type,
                          int precision)
                   throws java.lang.Exception
Description copied from interface: ExtendedType
Initializes a single parameter of a PreparedStatement with object value.

Specified by:
setJdbcObject in interface ExtendedType
Throws:
java.lang.Exception

getEnumerationMappings

public java.util.Map<java.lang.Object,java.lang.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 java.lang.Object[] getValues()


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