Package org.hibernate.type
Interface CompositeType
- All Superinterfaces:
Serializable,Type
- All Known Subinterfaces:
CompositeTypeImplementor
- All Known Implementing Classes:
AnyType,ComponentType,EmbeddedComponentType,UserComponentType
Represents a composite type, a type which itself has typed attributes.
For example, a type representing an embeddable class
is a composite type, as is a type backed by a CompositeUserType.
-
Method Summary
Modifier and TypeMethodDescriptiongetCascadeStyle(int index) Retrieve the cascade style of the indicated component property.getFetchMode(int index) Retrieve the fetch mode of the indicated component property.intgetPropertyIndex(String propertyName) Convenience method for locating the property index for a given property name.String[]Get the names of the component propertiesboolean[]Retrieve the indicators regarding which component properties are nullable.getPropertyValue(Object component, int index, SharedSessionContractImplementor session) Extract a particular component property value indicated by index.Object[]getPropertyValues(Object component) Extract the values of the component properties from the given component instance without access to the session.Object[]getPropertyValues(Object component, SharedSessionContractImplementor session) Extract the values of the component properties from the given component instanceType[]Get the types of the component propertiesbooleanConvenience method to quickly checkgetPropertyNullability()for any non-nullable sub-properties.default booleanConvenience method to quickly check ifgetPropertyNullability()contains a nullable sub-properties.booleanIs this component embedded? "embedded" indicates that the component is "virtual", that its properties are "flattened" onto its ownerbooleanisMethodOf(Method method) Is the given method a member of this component's class?default ObjectreplacePropertyValues(Object component, Object[] values, SharedSessionContractImplementor session) Inject property values onto the given component instance, or return a new instance with the given property values.voidsetPropertyValues(Object component, Object[] values) Inject property values onto the given component instanceMethods inherited from interface org.hibernate.type.Type
assemble, beforeAssemble, compare, compare, deepCopy, disassemble, disassemble, getColumnSpan, getHashCode, getHashCode, getName, getReturnedClass, getReturnedClassName, getSqlTypeCodes, getTypeForEqualsHashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, nullSafeSet, nullSafeSet, replace, replace, toColumnNullness, toLoggableString
-
Method Details
-
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
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- Returns:
- The property values
- Throws:
HibernateException- Indicates a problem access the property values.
-
setPropertyValues
Inject property values onto the given component instanceAn optional operation
- Parameters:
component- The component instancevalues- The values to inject- Throws:
HibernateException- Indicates an issue performing the injection
-
getCascadeStyle
Retrieve the cascade style of the indicated component property.- Parameters:
index- The property index,- Returns:
- The cascade style.
-
getFetchMode
Retrieve the fetch mode of the indicated component property.- Parameters:
index- The property index,- Returns:
- The fetch mode
-
isMethodOf
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.
-
hasNotNullProperty
boolean hasNotNullProperty()Convenience method to quickly checkgetPropertyNullability()for any non-nullable sub-properties.- Returns:
trueif any of the properties are not-nullable as indicated bygetPropertyNullability(),falseotherwise.
-
hasNullProperty
default boolean hasNullProperty()Convenience method to quickly check ifgetPropertyNullability()contains a nullable sub-properties.- Returns:
trueif any of the properties are nullable as indicated bygetPropertyNullability(),falseotherwise.
-
getPropertyIndex
Convenience method for locating the property index for a given property name.- Parameters:
propertyName- The (sub-)property name to find.- Returns:
- The (sub-)property index, relative to all the array-valued method returns defined on this contract.
-