Package org.hibernate.type
Class ArrayType
- java.lang.Object
-
- org.hibernate.type.AbstractType
-
- org.hibernate.type.CollectionType
-
- org.hibernate.type.ArrayType
-
- All Implemented Interfaces:
Serializable,AssociationType,Type
public class ArrayType extends CollectionType
A type for persistent arrays.- See Also:
- 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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CollectionClassificationgetCollectionClassification()Iterator<?>getElementsIterator(Object collection)Not defined for collections of primitive typeClass<?>getReturnedClass()The class handled by this type.booleanhasHolder()ObjectindexOf(Object array, Object element)protected booleaninitializeImmediately()Objectinstantiate(int anticipatedSize)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.ObjectinstantiateResult(Object original)Instantiate a new "underlying" collection exhibiting the same capacity characteristics and the passed "original".booleanisArrayType()ObjectreplaceElements(Object original, Object target, Object owner, Map copyCache, SharedSessionContractImplementor session)Replace the elements of a collection with the elements of another collection.StringtoLoggableString(Object value, SessionFactoryImplementor factory)Generate a representation of the given value for logging purposes.PersistentCollection<?>wrap(SharedSessionContractImplementor session, Object array)Wrap the naked collection instance in a wrapper, or instantiate a holder.-
Methods inherited from class org.hibernate.type.CollectionType
assemble, compare, compare, contains, deepCopy, disassemble, disassemble, getAssociatedEntityName, getAssociatedJoinable, getCollection, getColumnSpan, getElementsIterator, getElementType, getForeignKeyDirection, getHashCode, getIdOfOwnerOrNull, getKeyOfOwner, getLHSPropertyName, getName, getRHSUniqueKeyPropertyName, getRole, getSqlTypeCodes, isAlwaysDirtyChecked, isAssociationType, isCollectionType, isDirty, isDirty, isEqual, isInverse, isModified, isMutable, nullSafeSet, nullSafeSet, renderLoggableString, replace, toColumnNullness, 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
-
-
-
-
Method Detail
-
getReturnedClass
public Class<?> getReturnedClass()
Description copied from interface:TypeThe class handled by this type.- Returns:
- The Java 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
-
getElementsIterator
public Iterator<?> getElementsIterator(Object collection)
Not defined for collections of primitive type- Overrides:
getElementsIteratorin classCollectionType- Parameters:
collection- The collection to be iterated- Returns:
- The element iterator
-
wrap
public PersistentCollection<?> wrap(SharedSessionContractImplementor session, Object array)
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.array- The bare collection to be wrapped.- Returns:
- The wrapped collection.
-
isArrayType
public boolean isArrayType()
- Overrides:
isArrayTypein classCollectionType
-
toLoggableString
public String toLoggableString(Object value, SessionFactoryImplementor factory) throws HibernateException
Description copied from interface:TypeGenerate a representation of the given value for logging purposes.- Specified by:
toLoggableStringin interfaceType- Overrides:
toLoggableStringin classCollectionType- Parameters:
value- The value to be loggedfactory- The session factory- Returns:
- The loggable representation
- Throws:
HibernateException- An error from Hibernate
-
instantiateResult
public Object instantiateResult(Object original)
Description copied from class:CollectionTypeInstantiate a new "underlying" collection exhibiting the same capacity characteristics and the passed "original".- Overrides:
instantiateResultin classCollectionType- Parameters:
original- The original collection.- Returns:
- The newly instantiated collection.
-
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
-
instantiate
public Object instantiate(int anticipatedSize)
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:
anticipatedSize- The anticipated size of the instantiated collection after we are done populating it.- Returns:
- A newly instantiated collection to be wrapped.
-
indexOf
public Object indexOf(Object array, Object element)
- Overrides:
indexOfin classCollectionType
-
initializeImmediately
protected boolean initializeImmediately()
- Overrides:
initializeImmediatelyin classCollectionType
-
hasHolder
public boolean hasHolder()
- Overrides:
hasHolderin classCollectionType
-
-