Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hibernate.type
Class AbstractType

    java.lang.Object
      org.hibernate.type.AbstractType

All Implemented Interfaces:
  Serializable, Type

Direct Known Subclasses:
  AnyType, BlobType, ClobType, CollectionType, ComponentType, CompositeCustomType, CustomType, EntityType, MetaType, NullableType

    public abstract class AbstractType

extends Object
implements Type

Abstract superclass of the built in Type hierarchy.

Author:
  Gavin King
See Also:
  Serialized Form

Constructor Summary
`AbstractType()`

Method Summary
`Object` | `assemble(Serializable cached, SessionImplementor session, Object owner)` Reconstruct the object from its cached "disassembled" state.
`void` | `beforeAssemble(Serializable cached, SessionImplementor session)` Called before assembling a query result set from the query cache, to allow batch fetching of entities missing from the second-level cache.
`int` | `compare(Object x, Object y, EntityMode entityMode)` compare two instances of the type
`Serializable` | `disassemble(Object value, SessionImplementor session, Object owner)` Return a cacheable "disassembled" representation of the object.
`int` | `getHashCode(Object x, EntityMode entityMode)` Get a hashcode, consistent with persistence "equality"
`int` | `getHashCode(Object x, EntityMode entityMode, SessionFactoryImplementor factory)` Get a hashcode, consistent with persistence "equality"
`Type` | `getSemiResolvedType(SessionFactoryImplementor factory)` Get the type of a semi-resolved value.
`Object` | `hydrate(ResultSet rs, String[] names, SessionImplementor session, Object owner)` Retrieve an instance of the mapped class, or the identifier of an entity or collection, from a JDBC resultset.
`boolean` | `isAnyType()` Is this an "any" type.
`boolean` | `isAssociationType()` Return true if the implementation is castable to `AssociationType`.
`boolean` | `isCollectionType()` Is this type a collection type.
`boolean` | `isComponentType()` Is this type a component type.
`boolean` | `isDirty(Object old, Object current, SessionImplementor session)` Should the parent be considered dirty, given both the old and current field or element value?
`boolean` | `isEntityType()` Is this type an entity type?
`boolean` | `isEqual(Object x, Object y, EntityMode entityMode)` Compare two instances of the class mapped by this type for persistence "equality" - equality of persistent state.
`boolean` | `isEqual(Object x, Object y, EntityMode entityMode, SessionFactoryImplementor factory)` Compare two instances of the class mapped by this type for persistence "equality" - equality of persistent state.
`boolean` | `isModified(Object old, Object current, boolean[] checkable, SessionImplementor session)` Has the parent object been modified, compared to the current database state?
`boolean` | `isSame(Object x, Object y, EntityMode entityMode)` Compare two instances of the class mapped by this type for persistence "equality" - equality of persistent state - taking a shortcut for entity references.
`boolean` | `isXMLElement()`
`Object` | `replace(Object original, Object target, SessionImplementor session, Object owner, Map copyCache, ForeignKeyDirection foreignKeyDirection)` During merge, replace the existing (target) value in the entity we are merging to with a new (original) value from the detached entity we are merging.
`protected static void` | `replaceNode(org.dom4j.Node container, org.dom4j.Element value)`
`Object` | `resolve(Object value, SessionImplementor session, Object owner)` Map identifiers to entities or collections.
`Object` | `semiResolve(Object value, SessionImplementor session, Object owner)` Given a hydrated, but unresolved value, return a value that may be used to reconstruct property-ref associations.

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, fromXMLNode, getColumnSpan, getName, getReturnedClass, isDirty, isMutable, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, replace, setToXMLNode, sqlTypes, toColumnNullness, toLoggableString`

Constructor Detail

### AbstractType

    public AbstractType()

Method Detail

### isAssociationType

    public boolean isAssociationType()

  Description copied from interface: `Type`
  Return true if the implementation is castable to `AssociationType`. This does not necessarily imply that the type actually represents an association.

  Specified by:
    `isAssociationType` in interface `Type`
  Returns:
    boolean
  See Also:
    `AssociationType`

### isCollectionType

    public boolean isCollectionType()

  Description copied from interface: `Type`
  Is this type a collection type.

  Specified by:
    `isCollectionType` in interface `Type`

### isComponentType

    public boolean isComponentType()

  Description copied from interface: `Type`
  Is this type a component type. If so, the implementation must be castable to `AbstractComponentType`. A component type may own collections or associations and hence must provide certain extra functionality.

  Specified by:
    `isComponentType` in interface `Type`
  Returns:
    boolean
  See Also:
    `AbstractComponentType`

### isEntityType

    public boolean isEntityType()

  Description copied from interface: `Type`
  Is this type an entity type?

  Specified by:
    `isEntityType` in interface `Type`
  Returns:
    boolean

### isXMLElement

    public boolean isXMLElement()

  Specified by:
    `isXMLElement` in interface `Type`

### 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`

### disassemble

    public Serializable disassemble(Object value,
                                    SessionImplementor session,
                                    Object owner)
                             throws HibernateException

  Description copied from interface: `Type`
  Return a cacheable "disassembled" representation of the object.

  Specified by:
    `disassemble` in interface `Type`
  Parameters:
    `value` - the value to cache
    `session` - the session
    `owner` - optional parent entity object (needed for collections)
  Returns:
    the disassembled, deep cloned state
  Throws:
    `HibernateException`

### assemble

    public Object assemble(Serializable cached,
                           SessionImplementor session,
                           Object owner)
                    throws HibernateException

  Description copied from interface: `Type`
  Reconstruct the object from its cached "disassembled" state.

  Specified by:
    `assemble` in interface `Type`
  Parameters:
    `cached` - the disassembled state from the cache
    `session` - the session
    `owner` - the parent entity object
  Returns:
    the the object
  Throws:
    `HibernateException`

### isDirty

    public boolean isDirty(Object old,
                           Object current,
                           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?

  Specified by:
    `isDirty` in interface `Type`
  Parameters:
    `old` - the old value
    `current` - the current value
  Returns:
    true if the field is dirty
  Throws:
    `HibernateException`

### hydrate

    public Object hydrate(ResultSet rs,
                          String[] names,
                          SessionImplementor session,
                          Object owner)
                   throws HibernateException,
                          SQLException

  Description copied from interface: `Type`
  Retrieve an instance of the mapped class, or the identifier of an entity or collection, from a JDBC resultset. This is useful for 2-phase property initialization - the second phase is a call to `resolveIdentifier()`.

  Specified by:
    `hydrate` in interface `Type`
    `names` - the column names
    `session` - the session
    `owner` - the parent entity
  Returns:
    Object an identifier or actual value
  Throws:
    `HibernateException`
    `SQLException`
  See Also:
    `Type.resolve(Object, SessionImplementor, Object)`

### resolve

    public Object resolve(Object value,
                          SessionImplementor session,
                          Object owner)
                   throws HibernateException

  Description copied from interface: `Type`
  Map identifiers to entities or collections. This is the second phase of 2-phase property initialization.

  Specified by:
    `resolve` in interface `Type`
  Parameters:
    `value` - an identifier or value returned by `hydrate()`
    `session` - the session
    `owner` - the parent entity
  Returns:
    the given value, or the value associated with the identifier
  Throws:
    `HibernateException`
  See Also:
    `Type.hydrate(ResultSet, String[], SessionImplementor, Object)`

### semiResolve

    public Object semiResolve(Object value,
                              SessionImplementor session,
                              Object owner)
                       throws HibernateException

  Description copied from interface: `Type`
  Given a hydrated, but unresolved value, return a value that may be used to reconstruct property-ref associations.

  Specified by:
    `semiResolve` in interface `Type`
  Throws:
    `HibernateException`

### isAnyType

    public boolean isAnyType()

  Description copied from interface: `Type`
  Is this an "any" type. i.e. a reference to a persistent entity that is not modelled as a (foreign key) association.

  Specified by:
    `isAnyType` in interface `Type`

### isModified

    public boolean isModified(Object old,
                              Object current,
                              boolean[] checkable,
                              SessionImplementor session)
                       throws HibernateException

  Description copied from interface: `Type`
  Has the parent object been modified, compared to the current database state?

  Specified by:
    `isModified` in interface `Type`
  Parameters:
    `old` - the database state, in a "hydrated" form, with identifiers unresolved
    `current` - the current state of the object
    `checkable` - which columns are actually updatable
  Returns:
    true if the field has been modified
  Throws:
    `HibernateException`

### isSame

    public boolean isSame(Object x,
                          Object y,
                          EntityMode entityMode)
                   throws HibernateException

  Description copied from interface: `Type`
  Compare two instances of the class mapped by this type for persistence "equality" - equality of persistent state - taking a shortcut for entity references.

  Specified by:
    `isSame` in interface `Type`
  Returns:
    boolean
  Throws:
    `HibernateException`

### isEqual

    public boolean isEqual(Object x,
                           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:
    `isEqual` in interface `Type`
  Returns:
    boolean

### 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`

### isEqual

    public boolean isEqual(Object x,
                           Object y,
                           EntityMode entityMode,
                           SessionFactoryImplementor factory)

  Description copied from interface: `Type`
  Compare two instances of the class mapped by this type for persistence "equality" - equality of persistent state.

  Specified by:
    `isEqual` in interface `Type`
  Returns:
    boolean

### getHashCode

    public int getHashCode(Object x,
                           EntityMode entityMode,
                           SessionFactoryImplementor factory)

  Description copied from interface: `Type`
  Get a hashcode, consistent with persistence "equality"

  Specified by:
    `getHashCode` in interface `Type`

### replaceNode

    protected static void replaceNode(org.dom4j.Node container,
                                      org.dom4j.Element value)

### getSemiResolvedType

    public Type getSemiResolvedType(SessionFactoryImplementor factory)

  Description copied from interface: `Type`
  Get the type of a semi-resolved value.

  Specified by:
    `getSemiResolvedType` in interface `Type`

### replace

    public Object replace(Object original,
                          Object target,
                          SessionImplementor session,
                          Object owner,
                          Map copyCache,
                          ForeignKeyDirection foreignKeyDirection)
                   throws HibernateException

  Description copied from interface: `Type`
  During merge, replace the existing (target) value in the entity we are merging to with a new (original) value from the detached entity we are merging. For immutable objects, or null values, it is safe to simply return the first parameter. For mutable objects, it is safe to return a copy of the first parameter. For objects with component values, it might make sense to recursively replace component values.

  Specified by:
    `replace` in interface `Type`
  Parameters:
    `original` - the value from the detached entity being merged
    `target` - the value in the managed entity
  Returns:
    the value to be merged
  Throws:
    `HibernateException`

### beforeAssemble

    public void beforeAssemble(Serializable cached,
                               SessionImplementor session)

  Description copied from interface: `Type`
  Called before assembling a query result set from the query cache, to allow batch fetching of entities missing from the second-level cache.

  Specified by:
    `beforeAssemble` in interface `Type`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD