org.apache.cayenne.access.types
Class CharType

java.lang.Object
  extended by org.apache.cayenne.access.types.CharType
All Implemented Interfaces:
ExtendedType
Direct Known Subclasses:
OracleCharType

public class CharType
extends java.lang.Object
implements ExtendedType

Handles java.lang.String, mapping it as either of JDBC types - CLOB or (VAR)CHAR. Can be configured to trim trailing spaces.


Field Summary
protected  boolean trimmingChars
           
protected  boolean usingClobs
           
 
Constructor Summary
CharType(boolean trimingChars, boolean usingClobs)
           
 
Method Summary
 java.lang.String getClassName()
          Returns "java.lang.String".
 boolean isTrimmingChars()
          Returns true if 'materializeObject' method should trim trailing spaces from the CHAR columns.
 boolean isUsingClobs()
           
 java.lang.Object materializeObject(java.sql.CallableStatement cs, int index, int type)
          Return trimmed string.
 java.lang.Object materializeObject(java.sql.ResultSet rs, int index, int type)
          Return trimmed string.
protected  java.lang.String readCharStream(java.sql.ResultSet rs, int index)
           
protected  java.lang.String readClob(java.sql.Clob clob)
           
protected  java.lang.String readValueStream(java.io.Reader in, int streamSize, int bufSize)
           
protected  java.lang.String rtrim(java.lang.String value)
          Trim right spaces.
 void setJdbcObject(java.sql.PreparedStatement st, java.lang.Object value, int pos, int type, int scale)
          Initializes a single parameter of a PreparedStatement with object value.
 void setTrimmingChars(boolean trimingChars)
           
 void setUsingClobs(boolean usingClobs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

trimmingChars

protected boolean trimmingChars

usingClobs

protected boolean usingClobs
Constructor Detail

CharType

public CharType(boolean trimingChars,
                boolean usingClobs)
Method Detail

getClassName

public java.lang.String getClassName()
Returns "java.lang.String".

Specified by:
getClassName in interface ExtendedType

materializeObject

public java.lang.Object materializeObject(java.sql.ResultSet rs,
                                          int index,
                                          int type)
                                   throws java.lang.Exception
Return trimmed string.

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 cs,
                                          int index,
                                          int type)
                                   throws java.lang.Exception
Return trimmed string.

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.

rtrim

protected java.lang.String rtrim(java.lang.String value)
Trim right spaces.


setJdbcObject

public void setJdbcObject(java.sql.PreparedStatement st,
                          java.lang.Object value,
                          int pos,
                          int type,
                          int scale)
                   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

readClob

protected java.lang.String readClob(java.sql.Clob clob)
                             throws java.io.IOException,
                                    java.sql.SQLException
Throws:
java.io.IOException
java.sql.SQLException

readCharStream

protected java.lang.String readCharStream(java.sql.ResultSet rs,
                                          int index)
                                   throws java.io.IOException,
                                          java.sql.SQLException
Throws:
java.io.IOException
java.sql.SQLException

readValueStream

protected java.lang.String readValueStream(java.io.Reader in,
                                           int streamSize,
                                           int bufSize)
                                    throws java.io.IOException
Throws:
java.io.IOException

isTrimmingChars

public boolean isTrimmingChars()
Returns true if 'materializeObject' method should trim trailing spaces from the CHAR columns. This addresses an issue with some JDBC drivers (e.g. Oracle), that return Strings for CHAR columsn padded with spaces.


setTrimmingChars

public void setTrimmingChars(boolean trimingChars)

isUsingClobs

public boolean isUsingClobs()

setUsingClobs

public void setUsingClobs(boolean usingClobs)


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