Interface CompositeType

    • 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,
                                   SharedSessionContractImplementor 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)
                            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
        Returns:
        The property values
        Throws:
        HibernateException - Indicates a problem access the property values.
      • getPropertyValue

        Object getPropertyValue​(Object component,
                                int index,
                                SharedSessionContractImplementor 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)
                        throws HibernateException
        Inject property values onto the given component instance

        An optional operation

        Parameters:
        component - The component instance
        values - The values to inject
        Throws:
        HibernateException - Indicates an issue performing the injection
      • replacePropertyValues

        default Object replacePropertyValues​(Object component,
                                             Object[] values,
                                             SharedSessionContractImplementor session)
                                      throws HibernateException
        Inject property values onto the given component instance, or return a new instance with the given property values.
        Parameters:
        component - The component instance
        values - The values to inject
        Returns:
        A new instance as necessary
        Throws:
        HibernateException - Indicates an issue performing the injection
        Since:
        6.3
      • 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.
      • hasNotNullProperty

        boolean hasNotNullProperty()
        Convenience method to quickly check getPropertyNullability() for any non-nullable sub-properties.
        Returns:
        true if any of the properties are not-nullable as indicated by getPropertyNullability(), false otherwise.
      • hasNullProperty

        default boolean hasNullProperty()
        Convenience method to quickly check if getPropertyNullability() contains a nullable sub-properties.
        Returns:
        true if any of the properties are nullable as indicated by getPropertyNullability(), false otherwise.
      • getPropertyIndex

        int getPropertyIndex​(String propertyName)
        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.