org.apache.cayenne.access.types
Class ByteType

java.lang.Object
  extended by org.apache.cayenne.access.types.AbstractType
      extended by org.apache.cayenne.access.types.ByteType
All Implemented Interfaces:
ExtendedType

public class ByteType
extends AbstractType

Handles java.lang.Byte type mapping. Can be configured to recast java.lang.Byte to java.lang.Integer when binding values to PreparedStatement. This is a workaround for bugs in certain drivers. Drivers that are proven to have issues with byte values are Sybase and Oracle (Mac OS X only).

Since:
1.0.3
Author:
Andrus Adamchik

Field Summary
protected  boolean widenBytes
           
 
Constructor Summary
ByteType(boolean widenBytes)
           
 
Method Summary
 java.lang.String getClassName()
          Returns a full name of Java class that this ExtendedType supports.
 java.lang.Object materializeObject(java.sql.CallableStatement st, 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 st, java.lang.Object val, int pos, int type, int precision)
          Calls "PreparedStatement.setObject(..)".
 
Methods inherited from class org.apache.cayenne.access.types.AbstractType
toString, validateNull, validateProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

widenBytes

protected boolean widenBytes
Constructor Detail

ByteType

public ByteType(boolean widenBytes)
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
Specified by:
getClassName in class AbstractType

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
Specified by:
materializeObject in class AbstractType
Throws:
java.lang.Exception - if read error ocurred, or an object can't be converted to a target Java class.

materializeObject

public java.lang.Object materializeObject(java.sql.CallableStatement st,
                                          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
Specified by:
materializeObject in class AbstractType
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 st,
                          java.lang.Object val,
                          int pos,
                          int type,
                          int precision)
                   throws java.lang.Exception
Description copied from class: AbstractType
Calls "PreparedStatement.setObject(..)". Some DbAdapters may need to override this behavior for at least some of the object types, as it doesn't work consistently across all JDBC drivers.

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


Copyright © 2001-2006 Apache.org All Rights Reserved.