Class AbstractEntityTuplizer

    • Field Detail

      • getters

        protected final Getter[] getters
      • setters

        protected final Setter[] setters
      • propertySpan

        protected final int propertySpan
      • hasCustomAccessors

        protected final boolean hasCustomAccessors
    • Constructor Detail

      • AbstractEntityTuplizer

        public AbstractEntityTuplizer​(EntityMetamodel entityMetamodel,
                                      PersistentClass mappingInfo)
        Constructs a new AbstractEntityTuplizer instance.
        Parameters:
        entityMetamodel - The "interpreted" information relating to the mapped entity.
        mappingInfo - The parsed "raw" mapping data relating to the given entity.
    • Method Detail

      • getIdentifierMapperType

        public Type getIdentifierMapperType()
      • buildPropertyGetter

        protected abstract Getter buildPropertyGetter​(Property mappedProperty,
                                                      PersistentClass mappedEntity)
        Build an appropriate Getter for the given property.
        Parameters:
        mappedProperty - The property to be accessed via the built Getter.
        mappedEntity - The entity information regarding the mapped entity owning this property.
        Returns:
        An appropriate Getter instance.
      • buildPropertySetter

        protected abstract Setter buildPropertySetter​(Property mappedProperty,
                                                      PersistentClass mappedEntity)
        Build an appropriate Setter for the given property.
        Parameters:
        mappedProperty - The property to be accessed via the built Setter.
        mappedEntity - The entity information regarding the mapped entity owning this property.
        Returns:
        An appropriate Setter instance.
      • buildInstantiator

        protected abstract Instantiator buildInstantiator​(EntityMetamodel entityMetamodel,
                                                          PersistentClass mappingInfo)
        Build an appropriate Instantiator for the given mapped entity.
        Parameters:
        mappingInfo - The mapping information regarding the mapped entity.
        Returns:
        An appropriate Instantiator instance.
      • buildProxyFactory

        protected abstract ProxyFactory buildProxyFactory​(PersistentClass mappingInfo,
                                                          Getter idGetter,
                                                          Setter idSetter)
        Build an appropriate ProxyFactory for the given mapped entity.
        Parameters:
        mappingInfo - The mapping information regarding the mapped entity.
        idGetter - The constructed Getter relating to the entity's id property.
        idSetter - The constructed Setter relating to the entity's id property.
        Returns:
        An appropriate ProxyFactory instance.
      • getEntityName

        protected String getEntityName()
        Retrieves the defined entity-name for the tuplized entity.
        Returns:
        The entity-name.
      • getSubclassEntityNames

        protected Set getSubclassEntityNames()
        Retrieves the defined entity-names for any subclasses defined for this entity.
        Returns:
        Any subclass entity-names.
      • getIdentifier

        public Serializable getIdentifier​(Object entity)
                                   throws HibernateException
        Description copied from interface: EntityTuplizer
        Extract the identifier value from the given entity.
        Specified by:
        getIdentifier in interface EntityTuplizer
        Parameters:
        entity - The entity from which to extract the identifier value.
        Returns:
        The identifier value.
        Throws:
        HibernateException - If the entity does not define an identifier property, or an error occurs accessing its value.
      • setIdentifier

        public void setIdentifier​(Object entity,
                                  Serializable id)
                           throws HibernateException
        Description copied from interface: EntityTuplizer
        Inject the identifier value into the given entity.

        Has no effect if the entity does not define an identifier property
        Specified by:
        setIdentifier in interface EntityTuplizer
        Parameters:
        entity - The entity to inject with the identifier value.
        id - The value to be injected as the identifier.
        Throws:
        HibernateException
      • setIdentifier

        public void setIdentifier​(Object entity,
                                  Serializable id,
                                  SharedSessionContractImplementor session)
        Description copied from interface: EntityTuplizer
        Inject the identifier value into the given entity.

        Has no effect if the entity does not define an identifier property
        Specified by:
        setIdentifier in interface EntityTuplizer
        Parameters:
        entity - The entity to inject with the identifier value.
        id - The value to be injected as the identifier.
        session - The session from which is requests originates
      • resetIdentifier

        public void resetIdentifier​(Object entity,
                                    Serializable currentId,
                                    Object currentVersion)
        Description copied from interface: EntityTuplizer
        Inject the given identifier and version into the entity, in order to "roll back" to their original values.
        Specified by:
        resetIdentifier in interface EntityTuplizer
        Parameters:
        entity - The entity for which to reset the id/version values
        currentId - The identifier value to inject into the entity.
        currentVersion - The version value to inject into the entity.
      • resetIdentifier

        public void resetIdentifier​(Object entity,
                                    Serializable currentId,
                                    Object currentVersion,
                                    SharedSessionContractImplementor session)
        Description copied from interface: EntityTuplizer
        Inject the given identifier and version into the entity, in order to "roll back" to their original values.
        Specified by:
        resetIdentifier in interface EntityTuplizer
        Parameters:
        entity - The entity for which to reset the id/version values
        currentId - The identifier value to inject into the entity.
        currentVersion - The version value to inject into the entity.
        session - The session from which the request originated
      • getVersion

        public Object getVersion​(Object entity)
                          throws HibernateException
        Description copied from interface: EntityTuplizer
        Extract the value of the version property from the given entity.
        Specified by:
        getVersion in interface EntityTuplizer
        Parameters:
        entity - The entity from which to extract the version value.
        Returns:
        The value of the version property, or null if not versioned.
        Throws:
        HibernateException - Indicates a problem accessing the version property
      • shouldGetAllProperties

        protected boolean shouldGetAllProperties​(Object entity)
      • getPropertyValues

        public Object[] getPropertyValues​(Object entity)
        Description copied from interface: Tuplizer
        Extract the current values contained on the given entity.
        Specified by:
        getPropertyValues in interface Tuplizer
        Parameters:
        entity - The entity from which to extract values.
        Returns:
        The current property values.
      • getPropertyValuesToInsert

        public Object[] getPropertyValuesToInsert​(Object entity,
                                                  Map mergeMap,
                                                  SharedSessionContractImplementor session)
        Description copied from interface: EntityTuplizer
        Extract the values of the insertable properties of the entity (including backrefs)
        Specified by:
        getPropertyValuesToInsert in interface EntityTuplizer
        Parameters:
        entity - The entity from which to extract.
        mergeMap - a map of instances being merged to merged instances
        session - The session in which the result set is being made.
        Returns:
        The insertable property values.
      • getPropertyValue

        public Object getPropertyValue​(Object entity,
                                       int i)
                                throws HibernateException
        Description copied from interface: Tuplizer
        Extract the value of a particular property from the given entity.
        Specified by:
        getPropertyValue in interface Tuplizer
        Parameters:
        entity - The entity from which to extract the property value.
        i - The index of the property for which to extract the value.
        Returns:
        The current value of the given property on the given entity.
        Throws:
        HibernateException
      • getPropertyValue

        public Object getPropertyValue​(Object entity,
                                       String propertyPath)
                                throws HibernateException
        Description copied from interface: EntityTuplizer
        Extract the value of a particular property from the given entity.
        Specified by:
        getPropertyValue in interface EntityTuplizer
        Parameters:
        entity - The entity from which to extract the property value.
        propertyPath - The name of the property for which to extract the value.
        Returns:
        The current value of the given property on the given entity.
        Throws:
        HibernateException - Indicates a problem access the property
      • getComponentValue

        protected Object getComponentValue​(ComponentType type,
                                           Object component,
                                           String propertyPath)
        Extract a component property value.
        Parameters:
        type - The component property types.
        component - The component instance itself.
        propertyPath - The property path for the property to be extracted.
        Returns:
        The property value extracted.
      • setPropertyValue

        public void setPropertyValue​(Object entity,
                                     int i,
                                     Object value)
                              throws HibernateException
        Description copied from interface: EntityTuplizer
        Inject the value of a particular property.
        Specified by:
        setPropertyValue in interface EntityTuplizer
        Parameters:
        entity - The entity into which to inject the value.
        i - The property's index.
        value - The property value to inject.
        Throws:
        HibernateException - Indicates a problem access the property
      • setPropertyValue

        public void setPropertyValue​(Object entity,
                                     String propertyName,
                                     Object value)
                              throws HibernateException
        Description copied from interface: EntityTuplizer
        Inject the value of a particular property.
        Specified by:
        setPropertyValue in interface EntityTuplizer
        Parameters:
        entity - The entity into which to inject the value.
        propertyName - The name of the property.
        value - The property value to inject.
        Throws:
        HibernateException - Indicates a problem access the property
      • instantiate

        public final Object instantiate​(Serializable id,
                                        SharedSessionContractImplementor session)
        Description copied from interface: EntityTuplizer
        Create an entity instance initialized with the given identifier.
        Specified by:
        instantiate in interface EntityTuplizer
        Parameters:
        id - The identifier value for the entity to be instantiated.
        session - The session from which is requests originates
        Returns:
        The instantiated entity.
      • isInstance

        public final boolean isInstance​(Object object)
        Description copied from interface: Tuplizer
        Is the given object considered an instance of the the entity (accounting for entity-mode) managed by this tuplizer.
        Specified by:
        isInstance in interface Tuplizer
        Parameters:
        object - The object to be checked.
        Returns:
        True if the object is considered as an instance of this entity within the given mode.
      • hasProxy

        public boolean hasProxy()
        Description copied from interface: EntityTuplizer
        Does this entity, for this mode, present a possibility for proxying?
        Specified by:
        hasProxy in interface EntityTuplizer
        Returns:
        True if this tuplizer can generate proxies for this entity.
      • createProxy

        public final Object createProxy​(Serializable id,
                                        SharedSessionContractImplementor session)
        Description copied from interface: EntityTuplizer
        Generates an appropriate proxy representation of this entity for this entity-mode.
        Specified by:
        createProxy in interface EntityTuplizer
        Parameters:
        id - The id of the instance for which to generate a proxy.
        session - The session to which the proxy should be bound.
        Returns:
        The generate proxies.
      • isLifecycleImplementor

        public boolean isLifecycleImplementor()
        Description copied from interface: EntityTuplizer
        Does the class managed by this tuplizer implement the Lifecycle interface.
        Specified by:
        isLifecycleImplementor in interface EntityTuplizer
        Returns:
        True if the Lifecycle interface is implemented; false otherwise.
      • getEntityMetamodel

        protected final EntityMetamodel getEntityMetamodel()
      • getInstantiator

        protected final Instantiator getInstantiator()
      • getIdentifierGetter

        public Getter getIdentifierGetter()
        Description copied from interface: EntityTuplizer
        Retrieve the getter for the identifier property. May return null.
        Specified by:
        getIdentifierGetter in interface EntityTuplizer
        Returns:
        The getter for the identifier property.
      • getVersionGetter

        public Getter getVersionGetter()
        Description copied from interface: EntityTuplizer
        Retrieve the getter for the version property. May return null.
        Specified by:
        getVersionGetter in interface EntityTuplizer
        Returns:
        The getter for the version property.
      • getGetter

        public Getter getGetter​(int i)
        Description copied from interface: Tuplizer
        Retrieve the getter for the specified property.
        Specified by:
        getGetter in interface Tuplizer
        Parameters:
        i - The property index.
        Returns:
        The property getter.