## 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 implement `PersistentCollection`

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
`CustomCollectionType(TypeFactory.TypeScope typeScope, Class userTypeClass, String role, String foreignKeyPropertyName, boolean isEmbeddedInXML)`

Method Summary
`boolean` `contains(Object collection, Object entity, SessionImplementor session)`
`Iterator` `getElementsIterator(Object collection)` Get an iterator over the element set of the collection in POJO mode
`Class` `getReturnedClass()` The class returned by `Type.nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SessionImplementor, java.lang.Object)` methods.
`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(SessionImplementor session, CollectionPersister persister, Serializable 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, SessionImplementor session)` Replace the elements of a collection with the elements of another collection.
`PersistentCollection` `wrap(SessionImplementor 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, defaultSizes, dictatedSizes, disassemble, fromXMLNode, getAssociatedEntityName, getAssociatedJoinable, getCollection, getColumnSpan, getElementsIterator, getElementType, getForeignKeyDirection, getHashCode, getIdOfOwnerOrNull, getKeyOfOwner, getLHSPropertyName, getName, getOnCondition, getRHSUniqueKeyPropertyName, getRole, hasHolder, hydrate, initializeImmediately, instantiateResult, isAlwaysDirtyChecked, isArrayType, isAssociationType, isCollectionType, isDirty, isDirty, isEmbeddedInXML, isEqual, isModified, isMutable, isXMLElement, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, replace, resolve, semiResolve, setToXMLNode, sqlTypes, toColumnNullness, toLoggableString, toString, useLHSPrimaryKey`

Methods inherited from class org.hibernate.type.AbstractType
`beforeAssemble, getHashCode, getSemiResolvedType, isAnyType, isComponentType, isEntityType, isEqual, isSame, replace, replaceNode`

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

### CustomCollectionType

    public CustomCollectionType(TypeFactory.TypeScope typeScope,
                                Class userTypeClass,
                                String role,
                                String foreignKeyPropertyName,
                                boolean isEmbeddedInXML)

Method Detail

### instantiate

    public PersistentCollection instantiate(SessionImplementor session,
                                            CollectionPersister persister,
                                            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 class `CollectionType`
  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(SessionImplementor 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 class `CollectionType`
  Parameters:
    `session` - The session from which the request is originating.
    `collection` - The bare collection to be wrapped.
  Returns:
    The wrapped collection.

### getReturnedClass

    public Class getReturnedClass()

  Description copied from interface: `Type`
  The class returned by `Type.nullSafeGet(java.sql.ResultSet, java.lang.String[], org.hibernate.engine.spi.SessionImplementor, 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 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 class `CollectionType`
  Parameters:
    `anticipatedType` - The anticipated size of the instaniated 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 in POJO mode

  Overrides:
    `getElementsIterator` in class `CollectionType`
  Parameters:
    `collection` - The collection to be iterated
  Returns:
    The iterator.

### contains

    public boolean contains(Object collection,
                            Object entity,
                            SessionImplementor session)

  Overrides:
    `contains` in class `CollectionType`

### indexOf

    public Object indexOf(Object collection,
                          Object entity)

  Overrides:
    `indexOf` in class `CollectionType`

### replaceElements

    public Object replaceElements(Object original,
                                  Object target,
                                  Object owner,
                                  Map copyCache,
                                  SessionImplementor session)
                           throws HibernateException

  Description copied from class: `CollectionType`
  Replace the elements of a collection with the elements of another collection.

  Overrides:
    `replaceElements` in class `CollectionType`
  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 merged
    `copyCache` - 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 class `CollectionType`
  Throws:
    `HibernateException`

### getUserType

    public UserCollectionType getUserType()

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.