/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.persister.walking.spi;
import org.hibernate.type.Type;
Represents a collection element.
Author: Steve Ebersole
/**
* Represents a collection element.
*
* @author Steve Ebersole
*/
public interface CollectionElementDefinition {
Returns the collection definition.
Returns: the collection definition.
/**
* Returns the collection definition.
* @return the collection definition.
*/
public CollectionDefinition getCollectionDefinition();
Returns the collection element type.
Returns: the collection element type
/**
* Returns the collection element type.
* @return the collection element type
*/
public Type getType();
If the element type returned by getType()
is an AnyType
, then the any mapping definition for the collection element is returned; otherwise, IllegalStateException is thrown. Throws: - IllegalStateException – if the collection element type returned by
getType()
is not of type AnyType
.
Returns: the any mapping definition for the collection element.
/**
* If the element type returned by {@link #getType()} is an
* {@link org.hibernate.type.AnyType}, then the any mapping
* definition for the collection element is returned;
* otherwise, IllegalStateException is thrown.
*
* @return the any mapping definition for the collection element.
*
* @throws IllegalStateException if the collection element type
* returned by {@link #getType()} is not of type
* {@link org.hibernate.type.AnyType}.
*/
public AnyMappingDefinition toAnyMappingDefinition();
If the element type returned by getType()
is an EntityType
, then the entity definition for the collection element is returned; otherwise, IllegalStateException is thrown. Throws: - IllegalStateException – if the collection element type returned by
getType()
is not of type EntityType
.
Returns: the entity definition for the collection element.
/**
* If the element type returned by {@link #getType()} is an
* {@link org.hibernate.type.EntityType}, then the entity
* definition for the collection element is returned;
* otherwise, IllegalStateException is thrown.
*
* @return the entity definition for the collection element.
*
* @throws IllegalStateException if the collection element type
* returned by {@link #getType()} is not of type
* {@link org.hibernate.type.EntityType}.
*/
public EntityDefinition toEntityDefinition();
If the element type returned by getType()
is a CompositeType
, then the composite element definition for the collection element is returned; otherwise, IllegalStateException is thrown. Throws: - IllegalStateException – if the collection element type returned by
getType()
is not of type CompositeType
.
Returns: the composite element definition for the collection element.
/**
* If the element type returned by {@link #getType()} is a
* {@link org.hibernate.type.CompositeType}, then the composite
* element definition for the collection element is returned;
* otherwise, IllegalStateException is thrown.
*
* @return the composite element definition for the collection element.
*
* @throws IllegalStateException if the collection element type
* returned by {@link #getType()} is not of type
* {@link org.hibernate.type.CompositeType}.
*/
public CompositeCollectionElementDefinition toCompositeElementDefinition();
}