org.hibernate.type
Class AdaptedImmutableType

java.lang.Object
  extended byorg.hibernate.type.AbstractType
      extended byorg.hibernate.type.NullableType
          extended byorg.hibernate.type.ImmutableType
              extended byorg.hibernate.type.AdaptedImmutableType
All Implemented Interfaces:
Serializable, Type

public class AdaptedImmutableType
extends ImmutableType

Optimize a mutable type, if the user promises not to mutable the instances.

Author:
Gavin King
See Also:
Serialized Form

Constructor Summary
AdaptedImmutableType(NullableType mutableType)
           
 
Method Summary
 int compare(Object x, Object y, EntityMode entityMode)
          compare two instances of the type
 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.
 int getHashCode(Object x, EntityMode entityMode)
          Get a hashcode, consistent with persistence "equality"
 String getName()
          Returns the abbreviated name of the type.
 Class getReturnedClass()
          The class returned by nullSafeGet() methods.
 boolean isEqual(Object x, Object y)
           
 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.
 String toString(Object value)
           
 
Methods inherited from class org.hibernate.type.ImmutableType
deepCopy, isMutable, replace
 
Methods inherited from class org.hibernate.type.NullableType
fromXMLNode, fromXMLString, getColumnSpan, isDirty, isEqual, nullSafeGet, nullSafeGet, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, nullSafeSet, nullSafeToString, setToXMLNode, sqlTypes, toColumnNullness, toLoggableString, toXMLString
 
Methods inherited from class org.hibernate.type.AbstractType
assemble, beforeAssemble, disassemble, 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
 

Constructor Detail

AdaptedImmutableType

public AdaptedImmutableType(NullableType mutableType)
Method Detail

get

public Object get(ResultSet rs,
                  String name)
           throws HibernateException,
                  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:
HibernateException - Generally some form of mismatch error.
SQLException - Indicates problem making the JDBC call(s).

set

public void set(PreparedStatement st,
                Object value,
                int index)
         throws HibernateException,
                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).
HibernateException - Generally some form of mismatch error.

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.

toString

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

fromStringValue

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

getReturnedClass

public 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

getName

public String getName()
Description copied from interface: Type
Returns the abbreviated name of the type.

Returns:
String the Hibernate type name

isEqual

public boolean isEqual(Object x,
                       Object y)
Overrides:
isEqual in class NullableType

getHashCode

public int getHashCode(Object x,
                       EntityMode entityMode)
Description copied from interface: Type
Get a hashcode, consistent with persistence "equality"

Specified by:
getHashCode in interface Type
Overrides:
getHashCode in class AbstractType

compare

public int compare(Object x,
                   Object y,
                   EntityMode entityMode)
Description copied from interface: Type
compare two instances of the type

Specified by:
compare in interface Type
Overrides:
compare in class AbstractType