## 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.