org.hibernate.type
Class AbstractCharArrayType

java.lang.Object
  extended by org.hibernate.type.AbstractType
      extended by org.hibernate.type.NullableType
          extended by org.hibernate.type.MutableType
              extended by org.hibernate.type.AbstractCharArrayType
All Implemented Interfaces:
Serializable, Type
Direct Known Subclasses:
CharacterArrayType, CharArrayType

public abstract class AbstractCharArrayType
extends MutableType

Logic to bind stream of char into a VARCHAR

Author:
Emmanuel Bernard
See Also:
Serialized Form

Constructor Summary
AbstractCharArrayType()
           
 
Method Summary
protected  Object deepCopyNotNull(Object value)
           
 Object fromStringValue(String xml)
           
 Object get(ResultSet rs, String name)
          Get a column value from a result set, without worrying about the possibility of null values.
abstract  Class getReturnedClass()
          The class returned by nullSafeGet() methods.
 String objectToSQLString(Object value, Dialect dialect)
           
 void set(PreparedStatement st, Object value, int index)
          Set a parameter value without worrying about the possibility of null values.
 int sqlType()
          A convenience form of NullableType.sqlTypes(org.hibernate.engine.Mapping), returning just a single type value since these are explicitly dealing with single column mappings.
 Object stringToObject(String xml)
           
protected abstract  Object toExternalFormat(char[] chars)
          Convert the char[] into the expected object type
protected abstract  char[] toInternalFormat(Object chars)
          Convert the object into the internal char[] representation
 String toString(Object value)
           
 
Methods inherited from class org.hibernate.type.MutableType
deepCopy, isMutable, replace
 
Methods inherited from class org.hibernate.type.NullableType
fromXMLNode, fromXMLString, getColumnSpan, isDirty, isEqual, isEqual, nullSafeGet, nullSafeGet, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, nullSafeSet, nullSafeToString, setToXMLNode, sqlTypes, toColumnNullness, toLoggableString, toXMLString
 
Methods inherited from class org.hibernate.type.AbstractType
assemble, beforeAssemble, compare, disassemble, getHashCode, getHashCode, getSemiResolvedType, hydrate, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isEntityType, isEqual, isModified, isSame, isXMLElement, replace, replaceNode, resolve, semiResolve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.hibernate.type.Type
getName
 

Constructor Detail

AbstractCharArrayType

public AbstractCharArrayType()
Method Detail

toExternalFormat

protected abstract Object toExternalFormat(char[] chars)
Convert the char[] into the expected object type


toInternalFormat

protected abstract char[] toInternalFormat(Object chars)
Convert the object into the internal char[] representation


get

public Object get(ResultSet rs,
                  String name)
           throws SQLException
Description copied from class: NullableType
Get a column value from a result set, without worrying about the possibility of null values. Called from NullableType.nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.SessionImplementor, java.lang.Object) after nullness checks have been performed.

Specified by:
get in class NullableType
Parameters:
rs - The result set from which to extract the value.
name - The name of the value to extract.
Returns:
The extracted value.
Throws:
SQLException - Indicates problem making the JDBC call(s).

getReturnedClass

public abstract Class getReturnedClass()
Description copied from interface: Type
The class returned by nullSafeGet() methods. This is used to establish the class of an array of this type.

Returns:
Class

set

public void set(PreparedStatement st,
                Object value,
                int index)
         throws SQLException
Description copied from class: NullableType
Set a parameter value without worrying about the possibility of null values. Called from NullableType.nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int, boolean[], org.hibernate.engine.SessionImplementor) after nullness checks have been performed.

Specified by:
set in class NullableType
Parameters:
st - The statement into which to bind the parameter value.
value - The parameter value to bind.
index - The position or index at which to bind the param value.
Throws:
SQLException - Indicates problem making the JDBC call(s).

sqlType

public int sqlType()
Description copied from class: NullableType
A convenience form of NullableType.sqlTypes(org.hibernate.engine.Mapping), returning just a single type value since these are explicitly dealing with single column mappings.

Specified by:
sqlType in class NullableType
Returns:
The Types mapping value.

objectToSQLString

public String objectToSQLString(Object value,
                                Dialect dialect)
                         throws Exception
Throws:
Exception

stringToObject

public Object stringToObject(String xml)
                      throws Exception
Throws:
Exception

toString

public String toString(Object value)
Specified by:
toString in class NullableType

fromStringValue

public Object fromStringValue(String xml)
Specified by:
fromStringValue in class NullableType

deepCopyNotNull

protected Object deepCopyNotNull(Object value)
                          throws HibernateException
Specified by:
deepCopyNotNull in class MutableType
Throws:
HibernateException