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 implementPersistentCollection- 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(ManagedBean<? extends UserCollectionType> userTypeBean, String role, String foreignKeyPropertyName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(Object collection, Object entity, SharedSessionContractImplementor session)CollectionClassificationgetCollectionClassification()Iterator<?>getElementsIterator(Object collection)Get an iterator over the element set of the collection in POJO modeClass<?>getReturnedClass()The class handled by this type.UserCollectionTypegetUserType()ObjectindexOf(Object collection, Object entity)Objectinstantiate(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, Object key)Instantiate an uninitialized collection wrapper or holder.protected StringrenderLoggableString(Object value, SessionFactoryImplementor factory)ObjectreplaceElements(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, disassemble, disassemble, getAssociatedEntityName, getAssociatedJoinable, getCollection, getColumnSpan, getElementsIterator, getElementType, getForeignKeyDirection, getHashCode, getIdOfOwnerOrNull, getKeyOfOwner, getLHSPropertyName, getName, getRHSUniqueKeyPropertyName, getRole, getSqlTypeCodes, hasHolder, initializeImmediately, instantiateResult, isAlwaysDirtyChecked, isArrayType, isAssociationType, isCollectionType, isDirty, isDirty, isEqual, isModified, isMutable, nullSafeSet, nullSafeSet, replace, toColumnNullness, toLoggableString, toString, useLHSPrimaryKey
-
Methods inherited from class org.hibernate.type.AbstractType
beforeAssemble, getHashCode, 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, isAnyType, isComponentType, isEntityType, isEqual, isSame, replace
-
-
-
-
Constructor Detail
-
CustomCollectionType
public CustomCollectionType(ManagedBean<? extends UserCollectionType> userTypeBean, String role, String foreignKeyPropertyName)
-
-
Method Detail
-
getReturnedClass
public Class<?> getReturnedClass()
Description copied from interface:TypeThe class handled by this type.- Returns:
- The java type class handled by this type.
-
getCollectionClassification
public CollectionClassification getCollectionClassification()
- Specified by:
getCollectionClassificationin classCollectionType
-
instantiate
public PersistentCollection<?> instantiate(SharedSessionContractImplementor session, CollectionPersister persister, Object key) throws HibernateException
Description copied from class:CollectionTypeInstantiate an uninitialized collection wrapper or holder. Callers MUST add the holder to the persistence context!- Specified by:
instantiatein 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:CollectionTypeWrap the naked collection instance in a wrapper, or instantiate a holder. Callers MUST add the holder to the persistence context!- Specified by:
wrapin classCollectionType- Parameters:
session- The session from which the request is originating.collection- The bare collection to be wrapped.- Returns:
- The wrapped collection.
-
instantiate
public Object instantiate(int anticipatedType)
Description copied from class:CollectionTypeInstantiate 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:
instantiatein 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:CollectionTypeGet an iterator over the element set of the collection in POJO mode- Overrides:
getElementsIteratorin classCollectionType- Parameters:
collection- The collection to be iterated- Returns:
- The iterator.
-
contains
public boolean contains(Object collection, Object entity, SharedSessionContractImplementor session)
- Overrides:
containsin classCollectionType
-
indexOf
public Object indexOf(Object collection, Object entity)
- Overrides:
indexOfin classCollectionType
-
replaceElements
public Object replaceElements(Object original, Object target, Object owner, Map copyCache, SharedSessionContractImplementor session) throws HibernateException
Description copied from class:CollectionTypeReplace the elements of a collection with the elements of another collection.- Overrides:
replaceElementsin 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:
renderLoggableStringin classCollectionType- Throws:
HibernateException
-
getUserType
public UserCollectionType getUserType()
-
-