org.hibernate.type
Interface CompositeType

All Superinterfaces:
Serializable, Type
All Known Subinterfaces:
AbstractComponentType
All Known Implementing Classes:
AnyType, ComponentType, CompositeCustomType, EmbeddedComponentType, ObjectType

public interface CompositeType
extends Type

Contract for value types to hold collections and have cascades, etc. The notion is that of composition. JPA terms this an embeddable.


Method Summary
 CascadeStyle getCascadeStyle(int index)
          Retrieve the cascade style of the indicated component property.
 FetchMode getFetchMode(int index)
          Retrieve the fetch mode of the indicated component property.
 String[] getPropertyNames()
          Get the names of the component properties
 boolean[] getPropertyNullability()
          Retrieve the indicators regarding which component properties are nullable.
 Object getPropertyValue(Object component, int index, SessionImplementor session)
          Extract a particular component property value indicated by index.
 Object[] getPropertyValues(Object component, EntityMode entityMode)
          Extract the values of the component properties from the given component instance without access to the session.
 Object[] getPropertyValues(Object component, SessionImplementor session)
          Extract the values of the component properties from the given component instance
 Type[] getSubtypes()
          Get the types of the component properties
 boolean isEmbedded()
          Is this component embedded? "embedded" indicates that the component is "virtual", that its properties are "flattened" onto its owner
 boolean isMethodOf(Method method)
          Is the given method a member of this component's class?
 void setPropertyValues(Object component, Object[] values, EntityMode entityMode)
          Inject property values onto the given component instance

An optional operation

 
Methods inherited from interface org.hibernate.type.Type
assemble, beforeAssemble, compare, deepCopy, defaultSizes, dictatedSizes, disassemble, fromXMLNode, getColumnSpan, getHashCode, getHashCode, getName, getReturnedClass, getSemiResolvedType, hydrate, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, isXMLElement, nullSafeGet, nullSafeGet, nullSafeSet, nullSafeSet, replace, replace, resolve, semiResolve, setToXMLNode, sqlTypes, toColumnNullness, toLoggableString
 

Method Detail

getSubtypes

Type[] getSubtypes()
Get the types of the component properties

Returns:
The component property types.

getPropertyNames

String[] getPropertyNames()
Get the names of the component properties

Returns:
The component property names

getPropertyNullability

boolean[] getPropertyNullability()
Retrieve the indicators regarding which component properties are nullable.

An optional operation

Returns:
nullability of component properties

getPropertyValues

Object[] getPropertyValues(Object component,
                           SessionImplementor session)
                           throws HibernateException
Extract the values of the component properties from the given component instance

Parameters:
component - The component instance
session - The session from which the request originates
Returns:
The property values
Throws:
HibernateException - Indicates a problem access the property values.

getPropertyValues

Object[] getPropertyValues(Object component,
                           EntityMode entityMode)
                           throws HibernateException
Extract the values of the component properties from the given component instance without access to the session.

An optional operation

Parameters:
component - The component instance
entityMode - The entity mode
Returns:
The property values
Throws:
HibernateException - Indicates a problem access the property values.

getPropertyValue

Object getPropertyValue(Object component,
                        int index,
                        SessionImplementor session)
                        throws HibernateException
Extract a particular component property value indicated by index.

Parameters:
component - The component instance
index - The index of the property whose value is to be extracted
session - The session from which the request originates.
Returns:
The extracted component property value
Throws:
HibernateException - Indicates a problem access the property value.

setPropertyValues

void setPropertyValues(Object component,
                       Object[] values,
                       EntityMode entityMode)
                       throws HibernateException
Inject property values onto the given component instance

An optional operation

Parameters:
component - The component instance
values - The values to inject
entityMode - The entity mode
Throws:
HibernateException - Indicates an issue performing the injection

getCascadeStyle

CascadeStyle getCascadeStyle(int index)
Retrieve the cascade style of the indicated component property.

Parameters:
index - The property index,
Returns:
The cascade style.

getFetchMode

FetchMode getFetchMode(int index)
Retrieve the fetch mode of the indicated component property.

Parameters:
index - The property index,
Returns:
The fetch mode

isMethodOf

boolean isMethodOf(Method method)
Is the given method a member of this component's class?

Parameters:
method - The method to check
Returns:
True if the method is a member; false otherwise.

isEmbedded

boolean isEmbedded()
Is this component embedded? "embedded" indicates that the component is "virtual", that its properties are "flattened" onto its owner

Returns:
True if this component is embedded; false otherwise.


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