org.hibernate.type
Class NullableType
java.lang.Objectorg.hibernate.type.AbstractType
org.hibernate.type.NullableType
- All Implemented Interfaces:
- java.io.Serializable, Type
- Direct Known Subclasses:
- ImmutableType, MutableType
public abstract class NullableType
- extends AbstractType
Superclass of single-column nullable types.
- See Also:
- Serialized Form
| Constructor Summary | |
|---|---|
NullableType()
|
|
| Method Summary | |
|---|---|
abstract java.lang.Object |
fromStringValue(java.lang.String xml)
|
java.lang.Object |
fromXMLNode(Node xml,
Mapping factory)
Parse the XML representation of an instance. |
java.lang.Object |
fromXMLString(java.lang.String xml,
Mapping factory)
|
abstract java.lang.Object |
get(java.sql.ResultSet rs,
java.lang.String name)
Get a column value from a result set, without worrying about the possibility of null values. |
int |
getColumnSpan(Mapping session)
How many columns are used to persist this type. |
boolean |
isDirty(java.lang.Object old,
java.lang.Object current,
boolean[] checkable,
SessionImplementor session)
Should the parent be considered dirty, given both the old and current field or element value? |
boolean |
isEqual(java.lang.Object x,
java.lang.Object y)
|
boolean |
isEqual(java.lang.Object x,
java.lang.Object y,
EntityMode entityMode)
Compare two instances of the class mapped by this type for persistence "equality" - equality of persistent state. |
java.lang.Object |
nullSafeGet(java.sql.ResultSet rs,
java.lang.String name)
|
java.lang.Object |
nullSafeGet(java.sql.ResultSet rs,
java.lang.String[] names)
|
java.lang.Object |
nullSafeGet(java.sql.ResultSet rs,
java.lang.String[] names,
SessionImplementor session,
java.lang.Object owner)
Retrieve an instance of the mapped class from a JDBC resultset. |
java.lang.Object |
nullSafeGet(java.sql.ResultSet rs,
java.lang.String name,
SessionImplementor session,
java.lang.Object owner)
Retrieve an instance of the mapped class from a JDBC resultset. |
void |
nullSafeSet(java.sql.PreparedStatement st,
java.lang.Object value,
int index)
|
void |
nullSafeSet(java.sql.PreparedStatement st,
java.lang.Object value,
int index,
boolean[] settable,
SessionImplementor session)
Write an instance of the mapped class to a prepared statement, ignoring some columns. |
void |
nullSafeSet(java.sql.PreparedStatement st,
java.lang.Object value,
int index,
SessionImplementor session)
Write an instance of the mapped class to a prepared statement. |
java.lang.String |
nullSafeToString(java.lang.Object value)
A null-safe version of toString(Object). |
abstract void |
set(java.sql.PreparedStatement st,
java.lang.Object value,
int index)
Set a parameter value without worrying about the possibility of null values. |
void |
setToXMLNode(Node xml,
java.lang.Object value,
SessionFactoryImplementor factory)
A representation of the value to be embedded in an XML element. |
abstract int |
sqlType()
A convenience form of sqlTypes(org.hibernate.engine.Mapping), returning
just a single type value since these are explicitly dealing with single column
mappings. |
int[] |
sqlTypes(Mapping session)
Return the SQL type codes for the columns mapped by this type. |
boolean[] |
toColumnNullness(java.lang.Object value,
Mapping mapping)
Given an instance of the type, return an array of boolean, indicating which mapped columns would be null. |
java.lang.String |
toLoggableString(java.lang.Object value,
SessionFactoryImplementor factory)
A representation of the value to be embedded in a log file. |
abstract java.lang.String |
toString(java.lang.Object value)
|
java.lang.String |
toXMLString(java.lang.Object value,
SessionFactoryImplementor pc)
|
| 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 |
|---|
deepCopy, getName, getReturnedClass, isMutable, replace |
| Constructor Detail |
|---|
NullableType
public NullableType()
| Method Detail |
|---|
get
public abstract java.lang.Object get(java.sql.ResultSet rs,
java.lang.String name)
throws HibernateException,
java.sql.SQLException
- Get a column value from a result set, without worrying about the
possibility of null values. Called from
nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.SessionImplementor, java.lang.Object)after nullness checks have been performed.- 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.java.sql.SQLException- Indicates problem making the JDBC call(s).
set
public abstract void set(java.sql.PreparedStatement st,
java.lang.Object value,
int index)
throws HibernateException,
java.sql.SQLException
- Set a parameter value without worrying about the possibility of null
values. Called from
nullSafeSet(java.sql.PreparedStatement, java.lang.Object, int, boolean[], org.hibernate.engine.SessionImplementor)after nullness checks have been performed.- 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:
HibernateException- Generally some form of mismatch error.java.sql.SQLException- Indicates problem making the JDBC call(s).
sqlType
public abstract int sqlType()
- A convenience form of
sqlTypes(org.hibernate.engine.Mapping), returning just a single type value since these are explicitly dealing with single column mappings.- Returns:
- The
Typesmapping value.
nullSafeToString
public java.lang.String nullSafeToString(java.lang.Object value)
throws HibernateException
- A null-safe version of
toString(Object). Specifically we are worried about null safeness in regards to the incoming value parameter, not the return.- Parameters:
value- The value to convert to a string representation; may be null.- Returns:
- The string representation; may be null.
- Throws:
HibernateException- Thrown bytoString(Object), which this calls.
toString
public abstract java.lang.String toString(java.lang.Object value)
throws HibernateException
- Throws:
HibernateException
fromStringValue
public abstract java.lang.Object fromStringValue(java.lang.String xml)
throws HibernateException
- Throws:
HibernateException
nullSafeSet
public final void nullSafeSet(java.sql.PreparedStatement st,
java.lang.Object value,
int index,
boolean[] settable,
SessionImplementor session)
throws HibernateException,
java.sql.SQLException
- Description copied from interface:
Type - Write an instance of the mapped class to a prepared statement, ignoring some columns.
Implementors should handle possibility of null values. A multi-column type should be
written to parameters starting from index.
value- the object to writeindex- statement parameter indexsettable- an array indicating which columns to ignore- Throws:
HibernateExceptionjava.sql.SQLException
nullSafeSet
public final void nullSafeSet(java.sql.PreparedStatement st,
java.lang.Object value,
int index,
SessionImplementor session)
throws HibernateException,
java.sql.SQLException
- Description copied from interface:
Type - Write an instance of the mapped class to a prepared statement. Implementors
should handle possibility of null values. A multi-column type should be written
to parameters starting from index.
value- the object to writeindex- statement parameter index- Throws:
HibernateExceptionjava.sql.SQLException
nullSafeSet
public final void nullSafeSet(java.sql.PreparedStatement st,
java.lang.Object value,
int index)
throws HibernateException,
java.sql.SQLException
- Throws:
HibernateExceptionjava.sql.SQLException
nullSafeGet
public final java.lang.Object nullSafeGet(java.sql.ResultSet rs,
java.lang.String[] names,
SessionImplementor session,
java.lang.Object owner)
throws HibernateException,
java.sql.SQLException
- Description copied from interface:
Type - Retrieve an instance of the mapped class from a JDBC resultset. Implementors
should handle possibility of null values.
names- the column namesowner- the parent entity- Returns:
- Object
- Throws:
HibernateExceptionjava.sql.SQLException- See Also:
alternative, 2-phase property initialization
nullSafeGet
public final java.lang.Object nullSafeGet(java.sql.ResultSet rs,
java.lang.String[] names)
throws HibernateException,
java.sql.SQLException
- Throws:
HibernateExceptionjava.sql.SQLException
nullSafeGet
public final java.lang.Object nullSafeGet(java.sql.ResultSet rs,
java.lang.String name)
throws HibernateException,
java.sql.SQLException
- Throws:
HibernateExceptionjava.sql.SQLException
nullSafeGet
public final java.lang.Object nullSafeGet(java.sql.ResultSet rs,
java.lang.String name,
SessionImplementor session,
java.lang.Object owner)
throws HibernateException,
java.sql.SQLException
- Description copied from interface:
Type - Retrieve an instance of the mapped class from a JDBC resultset. Implementations
should handle possibility of null values. This method might be called if the
type is known to be a single-column type.
name- the column nameowner- the parent entity- Returns:
- Object
- Throws:
HibernateExceptionjava.sql.SQLException
toXMLString
public final java.lang.String toXMLString(java.lang.Object value,
SessionFactoryImplementor pc)
throws HibernateException
- Throws:
HibernateException
fromXMLString
public final java.lang.Object fromXMLString(java.lang.String xml,
Mapping factory)
throws HibernateException
- Throws:
HibernateException
getColumnSpan
public final int getColumnSpan(Mapping session)
- Description copied from interface:
Type - How many columns are used to persist this type.
sqlTypes
public final int[] sqlTypes(Mapping session)
- Description copied from interface:
Type - Return the SQL type codes for the columns mapped by this type. The codes
are defined on java.sql.Types.
- Returns:
- the typecodes
- See Also:
Types
isEqual
public final boolean isEqual(java.lang.Object x,
java.lang.Object y,
EntityMode entityMode)
- Description copied from interface:
Type - Compare two instances of the class mapped by this type for persistence
"equality" - equality of persistent state.
- Specified by:
isEqualin interfaceType- Overrides:
isEqualin classAbstractType
- Returns:
- boolean
isEqual
public boolean isEqual(java.lang.Object x,
java.lang.Object y)
toLoggableString
public java.lang.String toLoggableString(java.lang.Object value,
SessionFactoryImplementor factory)
- Description copied from interface:
Type - A representation of the value to be embedded in a log file.
- Returns:
- String
fromXMLNode
public java.lang.Object fromXMLNode(Node xml,
Mapping factory)
throws HibernateException
- Description copied from interface:
Type - Parse the XML representation of an instance.
- Returns:
- an instance of the type
- Throws:
HibernateException
setToXMLNode
public void setToXMLNode(Node xml,
java.lang.Object value,
SessionFactoryImplementor factory)
throws HibernateException
- Description copied from interface:
Type - A representation of the value to be embedded in an XML element.
- Throws:
HibernateException
toColumnNullness
public boolean[] toColumnNullness(java.lang.Object value,
Mapping mapping)
- Description copied from interface:
Type - Given an instance of the type, return an array of boolean, indicating
which mapped columns would be null.
- Parameters:
value- an instance of the type
isDirty
public boolean isDirty(java.lang.Object old,
java.lang.Object current,
boolean[] checkable,
SessionImplementor session)
throws HibernateException
- Description copied from interface:
Type - Should the parent be considered dirty, given both the old and current field or
element value?
- Parameters:
old- the old valuecurrent- the current valuecheckable- which columns are actually updatable- Returns:
- true if the field is dirty
- Throws:
HibernateException
