org.apache.cayenne.access.types
Class ShortType

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

public class ShortType
extends Object
implements ExtendedType

Handles java.lang.Short type mapping. Can be configured to recast java.lang.Short 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 short values are Sybase and Oracle (Mac OS X only).

Since:
1.0.2

Field Summary
protected  boolean widenShorts
           
 
Constructor Summary
ShortType(boolean widenShorts)
           
 
Method Summary
 String getClassName()
          Returns a full name of Java class that this ExtendedType supports.
 Object materializeObject(CallableStatement st, 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.
 boolean validateProperty(Object source, String property, Object value, DbAttribute dbAttribute, ValidationResult validationResult)
          Performs validation of an object property.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

widenShorts

protected boolean widenShorts
Constructor Detail

ShortType

public ShortType(boolean widenShorts)
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

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 ocurred, or an object can't be converted to a target Java class.

materializeObject

public Object materializeObject(CallableStatement st,
                                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.

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

validateProperty

public boolean validateProperty(Object source,
                                String property,
                                Object value,
                                DbAttribute dbAttribute,
                                ValidationResult validationResult)
Description copied from interface: ExtendedType
Performs validation of an object property. Property is considered valid if this it satisfies the database constraints known to this ExtendedType. In case of validation failure, failures are appended to the ValidationResult object and false is returned.

Specified by:
validateProperty in interface ExtendedType


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