Package org.hibernate.type
Class CustomCollectionType
- java.lang.Object
-
- org.hibernate.type.AbstractType
-
- org.hibernate.type.CollectionType
-
- org.hibernate.type.CustomCollectionType
-
- All Implemented Interfaces:
Serializable
,AssociationType
,Type
public class CustomCollectionType extends CollectionType
A custom type for mapping user-written classes that implement PersistentCollection- See Also:
PersistentCollection
,UserCollectionType
, Serialized Form
-
-
Field Summary
-
Fields inherited from class org.hibernate.type.CollectionType
UNFETCHED_COLLECTION
-
Fields inherited from class org.hibernate.type.AbstractType
LEGACY_DEFAULT_SIZE, LEGACY_DICTATED_SIZE
-
-
Constructor Summary
Constructors Constructor Description CustomCollectionType(Class userTypeClass, String role, String foreignKeyPropertyName)
CustomCollectionType(TypeFactory.TypeScope typeScope, Class userTypeClass, String role, String foreignKeyPropertyName)
Deprecated.Use the other constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
contains(Object collection, Object entity, SharedSessionContractImplementor session)
Iterator
getElementsIterator(Object collection)
Get an iterator over the element set of the collection in POJO modeClass
getReturnedClass()
UserCollectionType
getUserType()
Object
indexOf(Object collection, Object entity)
Object
instantiate(int anticipatedType)
Instantiate an empty instance of the "underlying" collection (not a wrapper), but with the given anticipated size (i.e.PersistentCollection
instantiate(SharedSessionContractImplementor session, CollectionPersister persister, Serializable key)
Instantiate an uninitialized collection wrapper or holder.protected String
renderLoggableString(Object value, SessionFactoryImplementor factory)
Object
replaceElements(Object original, Object target, Object owner, Map copyCache, SharedSessionContractImplementor session)
Replace the elements of a collection with the elements of another collection.PersistentCollection
wrap(SharedSessionContractImplementor 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, defaultSizes, dictatedSizes, disassemble, getAssociatedEntityName, getAssociatedJoinable, getCollection, getColumnSpan, getElementsIterator, getElementType, getForeignKeyDirection, getHashCode, getIdOfOwnerOrNull, getKeyOfOwner, getLHSPropertyName, getName, getOnCondition, getOnCondition, getRHSUniqueKeyPropertyName, getRole, hasHolder, hydrate, initializeImmediately, instantiateResult, isAlwaysDirtyChecked, isArrayType, isAssociationType, isCollectionType, isDirty, isDirty, isEqual, isModified, isMutable, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, replace, resolve, resolve, semiResolve, sqlTypes, toColumnNullness, toLoggableString, toString, useLHSPrimaryKey
-
Methods inherited from class org.hibernate.type.AbstractType
beforeAssemble, getHashCode, getSemiResolvedType, isAnyType, isComponentType, isEntityType, isEqual, isSame, replace
-
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
@Deprecated public CustomCollectionType(TypeFactory.TypeScope typeScope, Class userTypeClass, String role, String foreignKeyPropertyName)
Deprecated.Use the other constructor
-
-
Method Detail
-
instantiate
public PersistentCollection instantiate(SharedSessionContractImplementor 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 classCollectionType
- Parameters:
session
- The session from which the request is originating.persister
- The underlying collection persister (metadata)key
- The owner key.- Returns:
- The instantiated collection.
- Throws:
HibernateException
-
wrap
public PersistentCollection wrap(SharedSessionContractImplementor 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 classCollectionType
- Parameters:
session
- The session from which the request is originating.collection
- The bare collection to be wrapped.- Returns:
- The wrapped collection.
-
getReturnedClass
public Class getReturnedClass()
Description copied from interface:Type
The class returned byType.nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object)
methods. This is used to establish the class of an array of this type.- Returns:
- The java type class handled by this type.
-
instantiate
public Object instantiate(int anticipatedType)
Description copied from class:CollectionType
Instantiate an empty instance of the "underlying" collection (not a wrapper), but with the given anticipated size (i.e. accounting for initial capacity and perhaps load factor).- Specified by:
instantiate
in classCollectionType
- Parameters:
anticipatedType
- The anticipated size of the instantiated collection after we are done populating it.- Returns:
- A newly instantiated collection to be wrapped.
-
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 classCollectionType
- Parameters:
collection
- The collection to be iterated- Returns:
- The iterator.
-
contains
public boolean contains(Object collection, Object entity, SharedSessionContractImplementor session)
- Overrides:
contains
in classCollectionType
-
indexOf
public Object indexOf(Object collection, Object entity)
- Overrides:
indexOf
in classCollectionType
-
replaceElements
public Object replaceElements(Object original, Object target, Object owner, Map copyCache, SharedSessionContractImplementor session) throws HibernateException
Description copied from class:CollectionType
Replace the elements of a collection with the elements of another collection.- Overrides:
replaceElements
in classCollectionType
- Parameters:
original
- The 'source' of the replacement elements (where we copy from)target
- The target of the replacement elements (where we copy to)owner
- The owner of the collection being mergedcopyCache
- The map of elements already replaced.session
- The session from which the merge event originated.- Returns:
- The merged collection.
- Throws:
HibernateException
-
renderLoggableString
protected String renderLoggableString(Object value, SessionFactoryImplementor factory) throws HibernateException
- Overrides:
renderLoggableString
in classCollectionType
- Throws:
HibernateException
-
getUserType
public UserCollectionType getUserType()
-
-