Package org.hibernate.type
Class ArrayType
- java.lang.Object
-
- org.hibernate.type.AbstractType
-
- org.hibernate.type.CollectionType
-
- org.hibernate.type.ArrayType
-
- All Implemented Interfaces:
java.io.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
-
-
Constructor Summary
Constructors Constructor Description ArrayType(TypeFactory.TypeScope typeScope, java.lang.String role, java.lang.String propertyRef, java.lang.Class elementClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator
getElementsIterator(java.lang.Object collection)
Not defined for collections of primitive typejava.lang.Class
getReturnedClass()
boolean
hasHolder()
java.lang.Object
indexOf(java.lang.Object array, java.lang.Object element)
protected boolean
initializeImmediately()
java.lang.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, java.io.Serializable key)
Instantiate an uninitialized collection wrapper or holder.java.lang.Object
instantiateResult(java.lang.Object original)
Instantiate a new "underlying" collection exhibiting the same capacity charactersitcs and the passed "original".boolean
isArrayType()
java.lang.Object
replaceElements(java.lang.Object original, java.lang.Object target, java.lang.Object owner, java.util.Map copyCache, SharedSessionContractImplementor session)
Replace the elements of a collection with the elements of another collection.java.lang.String
toLoggableString(java.lang.Object value, SessionFactoryImplementor factory)
Generate a representation of the value for logging purposes.PersistentCollection
wrap(SharedSessionContractImplementor session, java.lang.Object array)
Wrap the naked collection instance in a wrapper, or instantiate a holder.-
Methods inherited from class org.hibernate.type.CollectionType
assemble, compare, contains, deepCopy, defaultSizes, dictatedSizes, disassemble, getAssociatedEntityName, getAssociatedJoinable, getCollection, getColumnSpan, getElementsIterator, getElementType, getForeignKeyDirection, getHashCode, getIdOfOwnerOrNull, getKeyOfOwner, getLHSPropertyName, getName, getOnCondition, getOnCondition, getRHSUniqueKeyPropertyName, getRole, hydrate, isAlwaysDirtyChecked, isAssociationType, isCollectionType, isDirty, isDirty, isEqual, isModified, isMutable, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, renderLoggableString, replace, resolve, resolve, semiResolve, sqlTypes, toColumnNullness, 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
-
ArrayType
public ArrayType(TypeFactory.TypeScope typeScope, java.lang.String role, java.lang.String propertyRef, java.lang.Class elementClass)
-
-
Method Detail
-
getReturnedClass
public java.lang.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 PersistentCollection instantiate(SharedSessionContractImplementor session, CollectionPersister persister, java.io.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
-
getElementsIterator
public java.util.Iterator getElementsIterator(java.lang.Object collection)
Not defined for collections of primitive type- Overrides:
getElementsIterator
in classCollectionType
- Parameters:
collection
- The collection to be iterated- Returns:
- The iterator.
-
wrap
public PersistentCollection wrap(SharedSessionContractImplementor session, java.lang.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 java.lang.String toLoggableString(java.lang.Object value, SessionFactoryImplementor factory) throws HibernateException
Description copied from interface:Type
Generate a representation of the 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 java.lang.Object instantiateResult(java.lang.Object original)
Description copied from class:CollectionType
Instantiate a new "underlying" collection exhibiting the same capacity charactersitcs and the passed "original".- Overrides:
instantiateResult
in classCollectionType
- Parameters:
original
- The original collection.- Returns:
- The newly instantiated collection.
-
replaceElements
public java.lang.Object replaceElements(java.lang.Object original, java.lang.Object target, java.lang.Object owner, java.util.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 java.lang.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 instaniated collection after we are done populating it.- Returns:
- A newly instantiated collection to be wrapped.
-
indexOf
public java.lang.Object indexOf(java.lang.Object array, java.lang.Object element)
- Overrides:
indexOf
in classCollectionType
-
initializeImmediately
protected boolean initializeImmediately()
- Overrides:
initializeImmediately
in classCollectionType
-
hasHolder
public boolean hasHolder()
- Overrides:
hasHolder
in classCollectionType
-
-