org.hibernate.type
Class CustomCollectionType

java.lang.Object
  extended byorg.hibernate.type.AbstractType
      extended byorg.hibernate.type.CollectionType
          extended byorg.hibernate.type.CustomCollectionType
All Implemented Interfaces:
AssociationType, Serializable, Type

public class CustomCollectionType
extends CollectionType

A custom type for mapping user-written classes that implement PersistentCollection

Author:
Gavin King
See Also:
PersistentCollection, UserCollectionType, Serialized Form

Field Summary
 
Fields inherited from class org.hibernate.type.CollectionType
UNFETCHED_COLLECTION
 
Constructor Summary
CustomCollectionType(Class userTypeClass, String role, String foreignKeyPropertyName, boolean isEmbeddedInXML)
           
 
Method Summary
 boolean contains(Object collection, Object entity, SessionImplementor session)
           
 Iterator getElementsIterator(Object collection)
          Get an iterator over the element set of the collection in POJO mode
 Class getReturnedClass()
          The class returned by nullSafeGet() methods.
 Object indexOf(Object collection, Object entity)
           
 Object instantiate()
          Instantiate an empty instance of the "underlying" collection (not a wrapper)
 PersistentCollection instantiate(SessionImplementor session, CollectionPersister persister, Serializable key)
          Instantiate an uninitialized collection wrapper or holder.
 Object replaceElements(Object original, Object target, Object owner, Map copyCache, SessionImplementor session)
          Replace the elements of a collection with the elements of another collection
 PersistentCollection wrap(SessionImplementor session, Object collection)
          Wrap the naked collection instance in a wrapper, or instantiate a holder.
 
Methods inherited from class org.hibernate.type.CollectionType
assemble, compare, deepCopy, disassemble, fromXMLNode, getAssociatedEntityName, getAssociatedJoinable, getCollection, getColumnSpan, getElementsIterator, getElementType, getForeignKeyDirection, getHashCode, getKeyOfOwner, getLHSPropertyName, getName, getOnCondition, getRHSUniqueKeyPropertyName, getRole, hasHolder, hydrate, initializeImmediately, instantiateResult, isAlwaysDirtyChecked, isArrayType, isAssociationType, isCollectionType, isDirty, isDirty, isEmbeddedInXML, isEqual, isModified, isMutable, isXMLElement, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, replace, resolve, semiResolve, setToXMLNode, sqlTypes, toColumnNullness, toLoggableString, toString, useLHSPrimaryKey
 
Methods inherited from class org.hibernate.type.AbstractType
beforeAssemble, getHashCode, getSemiResolvedType, isAnyType, isComponentType, isEntityType, isEqual, isSame, replace, replaceNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.hibernate.type.Type
beforeAssemble, getHashCode, getSemiResolvedType, isAnyType, isComponentType, isEntityType, isEqual, isSame, replace
 

Constructor Detail

CustomCollectionType

public CustomCollectionType(Class userTypeClass,
                            String role,
                            String foreignKeyPropertyName,
                            boolean isEmbeddedInXML)
Method Detail

instantiate

public PersistentCollection instantiate(SessionImplementor session,
                                        CollectionPersister persister,
                                        Serializable key)
                                 throws HibernateException
Description copied from class: CollectionType
Instantiate an uninitialized collection wrapper or holder. Callers MUST add the holder to the persistence context!

Specified by:
instantiate in class CollectionType
Throws:
HibernateException

wrap

public PersistentCollection wrap(SessionImplementor session,
                                 Object collection)
Description copied from class: CollectionType
Wrap the naked collection instance in a wrapper, or instantiate a holder. Callers MUST add the holder to the persistence context!

Specified by:
wrap in class CollectionType

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

instantiate

public Object instantiate()
Description copied from class: CollectionType
Instantiate an empty instance of the "underlying" collection (not a wrapper)

Specified by:
instantiate in class CollectionType

getElementsIterator

public Iterator getElementsIterator(Object collection)
Description copied from class: CollectionType
Get an iterator over the element set of the collection in POJO mode

Overrides:
getElementsIterator in class CollectionType

contains

public boolean contains(Object collection,
                        Object entity,
                        SessionImplementor session)
Overrides:
contains in class CollectionType

indexOf

public Object indexOf(Object collection,
                      Object entity)
Overrides:
indexOf in class CollectionType

replaceElements

public Object replaceElements(Object original,
                              Object target,
                              Object owner,
                              Map copyCache,
                              SessionImplementor session)
                       throws HibernateException
Description copied from class: CollectionType
Replace the elements of a collection with the elements of another collection

Overrides:
replaceElements in class CollectionType
Throws:
HibernateException