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 boolean
contains(Object collection, Object entity, SharedSessionContractImplementor session)
CollectionClassification
getCollectionClassification()
Iterator<?>
getElementsIterator(Object collection)
Get an iterator over the element set of the collection, which may not yet be wrappedClass<?>
getReturnedClass()
The class handled by this type.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, Object 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, 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, isInverse, 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, getReturnedClassName, getTypeForEqualsHashCode, 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:Type
The class handled by this type.- Returns:
- The Java class handled by this type.
-
getCollectionClassification
public CollectionClassification getCollectionClassification()
- Specified by:
getCollectionClassification
in classCollectionType
-
instantiate
public PersistentCollection<?> instantiate(SharedSessionContractImplementor session, CollectionPersister persister, Object 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.
-
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, which may not yet be wrapped- Overrides:
getElementsIterator
in classCollectionType
- Parameters:
collection
- The collection to be iterated- Returns:
- The element 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()
-
-