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 CollectionClassification
getCollectionClassification()
Iterator<?>
getElementsIterator(Object collection)
Not defined for collections of primitive typeClass<?>
getReturnedClass()
The class handled by this type.boolean
hasHolder()
Object
indexOf(Object array, Object element)
protected boolean
initializeImmediately()
Object
instantiate(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.Object
instantiateResult(Object original)
Instantiate a new "underlying" collection exhibiting the same capacity characteristics and the passed "original".boolean
isArrayType()
Object
replaceElements(Object original, Object target, Object owner, Map copyCache, SharedSessionContractImplementor session)
Replace the elements of a collection with the elements of another collection.String
toLoggableString(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: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
-
getElementsIterator
public Iterator<?> getElementsIterator(Object collection)
Not defined for collections of primitive type- Overrides:
getElementsIterator
in classCollectionType
- Parameters:
collection
- The collection to be iterated- Returns:
- The element iterator
-
wrap
public PersistentCollection<?> wrap(SharedSessionContractImplementor session, Object array)
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.array
- The bare collection to be wrapped.- Returns:
- The wrapped collection.
-
isArrayType
public boolean isArrayType()
- Overrides:
isArrayType
in classCollectionType
-
toLoggableString
public String toLoggableString(Object value, SessionFactoryImplementor factory) throws HibernateException
Description copied from interface:Type
Generate a representation of the given value for logging purposes.- Specified by:
toLoggableString
in interfaceType
- Overrides:
toLoggableString
in 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:CollectionType
Instantiate a new "underlying" collection exhibiting the same capacity characteristics and the passed "original".- Overrides:
instantiateResult
in 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: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
-
instantiate
public Object instantiate(int anticipatedSize)
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:
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:
indexOf
in classCollectionType
-
initializeImmediately
protected boolean initializeImmediately()
- Overrides:
initializeImmediately
in classCollectionType
-
hasHolder
public boolean hasHolder()
- Overrides:
hasHolder
in classCollectionType
-
-