## org.hibernate.tuple.entity
Class AbstractEntityTuplizer

    java.lang.Object
      org.hibernate.tuple.entity.AbstractEntityTuplizer

All Implemented Interfaces:
  EntityTuplizer, Tuplizer

Direct Known Subclasses:
  DynamicMapEntityTuplizer, PojoEntityTuplizer

    public abstract class AbstractEntityTuplizer

extends Object
implements EntityTuplizer

Support for tuplizers relating to entities.

Field Summary
`protected Getter[]` `getters`
`protected boolean` `hasCustomAccessors`
`protected int` `propertySpan`
`protected Setter[]` `setters`

Constructor Summary
`AbstractEntityTuplizer(EntityMetamodel entityMetamodel, EntityBinding mappingInfo)` Constructs a new AbstractEntityTuplizer instance.
`AbstractEntityTuplizer(EntityMetamodel entityMetamodel, PersistentClass mappingInfo)` Constructs a new AbstractEntityTuplizer instance.

Method Summary
`void` `afterInitialize(Object entity, boolean lazyPropertiesAreUnfetched, SessionImplementor session)` Called just after the entities properties have been initialized.
`protected abstract Instantiator` `buildInstantiator(EntityBinding mappingInfo)` Build an appropriate Instantiator for the given mapped entity.
`protected abstract Instantiator` `buildInstantiator(PersistentClass mappingInfo)` Build an appropriate Instantiator for the given mapped entity.
`protected abstract Getter` `buildPropertyGetter(AttributeBinding mappedProperty)` Build an appropriate Getter for the given property.
`protected abstract Getter` `buildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity)` Build an appropriate Getter for the given property.
`protected abstract Setter` `buildPropertySetter(AttributeBinding mappedProperty)` Build an appropriate Setter for the given property.
`protected abstract Setter` `buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity)` Build an appropriate Setter for the given property.
`protected abstract ProxyFactory` `buildProxyFactory(EntityBinding mappingInfo, Getter idGetter, Setter idSetter)` Build an appropriate ProxyFactory for the given mapped entity.
`protected abstract ProxyFactory` `buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter)` Build an appropriate ProxyFactory for the given mapped entity.
`Object` `createProxy(Serializable id, SessionImplementor session)` Generates an appropriate proxy representation of this entity for this entity-mode.
`protected Object` `getComponentValue(ComponentType type, Object component, String propertyPath)` Extract a component property value.
`protected EntityMetamodel` `getEntityMetamodel()`
`protected String` `getEntityName()` Retreives the defined entity-name for the tuplized entity.
`protected SessionFactoryImplementor` `getFactory()`
`Getter` `getGetter(int i)` Retrieve the getter for the specified property.
`Serializable` `getIdentifier(Object entity)` Extract the identifier value from the given entity.
`Serializable` `getIdentifier(Object entity, SessionImplementor session)` Extract the identifier value from the given entity.
`Getter` `getIdentifierGetter()` Retrieve the getter for the identifier property.
`Type` `getIdentifierMapperType()`
`protected Instantiator` `getInstantiator()`
`Object` `getPropertyValue(Object entity, int i)` Extract the value of a particular property from the given entity.
`Object` `getPropertyValue(Object entity, String propertyPath)` Extract the value of a particular property from the given entity.
`Object[]` `getPropertyValues(Object entity)` Extract the current values contained on the given entity.
`Object[]` `getPropertyValuesToInsert(Object entity, Map mergeMap, SessionImplementor session)` Extract the values of the insertable properties of the entity (including backrefs)
`protected ProxyFactory` `getProxyFactory()`
`protected Set` `getSubclassEntityNames()` Retrieves the defined entity-names for any subclasses defined for this entity.
`Object` `getVersion(Object entity)` Extract the value of the version property from the given entity.
`Getter` `getVersionGetter()` Retrieve the getter for the version property.
`boolean` `hasProxy()` Does this entity, for this mode, present a possibility for proxying?
`boolean` `hasUninitializedLazyProperties(Object entity)` Does the given entity instance have any currently uninitialized lazy properties?
`Object` `instantiate()` Generate a new, empty entity.
`Object` `instantiate(Serializable id)` Create an entity instance initialized with the given identifier.
`Object` `instantiate(Serializable id, SessionImplementor session)` Create an entity instance initialized with the given identifier.
`boolean` `isInstance(Object object)` Is the given object considered an instance of the the entity (acconting for entity-mode) managed by this tuplizer.
`boolean` `isLifecycleImplementor()` Does the `class` managed by this tuplizer implement the `Lifecycle` interface.
`void` `resetIdentifier(Object entity, Serializable currentId, Object currentVersion)` Inject the given identifier and version into the entity, in order to "roll back" to their original values.
`void` `resetIdentifier(Object entity, Serializable currentId, Object currentVersion, SessionImplementor session)` Inject the given identifier and version into the entity, in order to "roll back" to their original values.
`void` `setIdentifier(Object entity, Serializable id)` Inject the identifier value into the given entity.
`void` `setIdentifier(Object entity, Serializable id, SessionImplementor session)` Inject the identifier value into the given entity.
`void` `setPropertyValue(Object entity, int i, Object value)` Inject the value of a particular property.
`void` `setPropertyValue(Object entity, String propertyName, Object value)` Inject the value of a particular property.
`void` `setPropertyValues(Object entity, Object[] values)` Inject the given values into the given entity.
`protected boolean` `shouldGetAllProperties(Object entity)`
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.hibernate.tuple.entity.EntityTuplizer
`determineConcreteSubclassEntityName, getConcreteProxyClass, getEntityMode, getEntityNameResolvers, isInstrumented`

Methods inherited from interface org.hibernate.tuple.Tuplizer
`getMappedClass`

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.

### AbstractEntityTuplizer

    public AbstractEntityTuplizer(EntityMetamodel entityMetamodel,
                                  EntityBinding 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(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.

### buildPropertyGetter

    protected abstract Getter buildPropertyGetter(AttributeBinding mappedProperty)

  Build an appropriate Getter for the given property.

  Parameters:
    `mappedProperty` - The property to be accessed via the built Getter.
  Returns:
    An appropriate Getter instance.

### buildPropertySetter

    protected abstract Setter buildPropertySetter(AttributeBinding mappedProperty)

  Build an appropriate Setter for the given property.

  Parameters:
    `mappedProperty` - The property to be accessed via the built Setter.
  Returns:
    An appropriate Setter instance.

### buildInstantiator

    protected abstract Instantiator buildInstantiator(EntityBinding 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(EntityBinding 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()

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

### getIdentifier

    public Serializable getIdentifier(Object entity,
                                      SessionImplementor session)

  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.
    `session` - The session from which is requests originates
  Returns:
    The identifier value.

### setIdentifier

    public void setIdentifier(Object entity,
                              Serializable id)
                       throws HibernateException

  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,
                              SessionImplementor session)

  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)

  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,
                                SessionImplementor session)

  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)
                               throws HibernateException

  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.
  Throws:
    `HibernateException`

### getPropertyValuesToInsert

    public Object[] getPropertyValuesToInsert(Object entity,
                                              Map mergeMap,
                                              SessionImplementor session)
                                       throws HibernateException

  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 resuest is being made.
  Returns:
    The insertable property values.
  Throws:
    `HibernateException` - Indicates a problem access the properties

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

### setPropertyValues

    public void setPropertyValues(Object entity,
                                  Object[] values)
                           throws HibernateException

  Description copied from interface: `Tuplizer`
  Inject the given values into the given entity.

  Specified by:
    `setPropertyValues` in interface `Tuplizer`
  Parameters:
    `entity` - The entity.
    `values` - The values to be injected.
  Throws:
    `HibernateException`

### 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)
                             throws HibernateException

  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.
  Returns:
    The instantiated entity.
  Throws:
    `HibernateException`

### instantiate

    public final Object instantiate(Serializable id,
                                    SessionImplementor 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.

### instantiate

    public final Object instantiate()
                             throws HibernateException

  Description copied from interface: `Tuplizer`
  Generate a new, empty entity.

  Specified by:
    `instantiate` in interface `Tuplizer`
  Returns:
    The new, empty entity instance.
  Throws:
    `HibernateException`

### afterInitialize

    public void afterInitialize(Object entity,
                                boolean lazyPropertiesAreUnfetched,
                                SessionImplementor session)

  Description copied from interface: `EntityTuplizer`
  Called just after the entities properties have been initialized.

  Specified by:
    `afterInitialize` in interface `EntityTuplizer`
  Parameters:
    `entity` - The entity being initialized.
    `lazyPropertiesAreUnfetched` - Are defined lazy properties currently unfecthed
    `session` - The session initializing this entity.

### hasUninitializedLazyProperties

    public boolean hasUninitializedLazyProperties(Object entity)

  Description copied from interface: `EntityTuplizer`
  Does the given entity instance have any currently uninitialized lazy properties?

  Specified by:
    `hasUninitializedLazyProperties` in interface `EntityTuplizer`
  Parameters:
    `entity` - The entity to be check for uninitialized lazy properties.
  Returns:
    True if uninitialized lazy properties were found; false otherwise.

### isInstance

    public final boolean isInstance(Object object)

  Description copied from interface: `Tuplizer`
  Is the given object considered an instance of the the entity (acconting 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,
                                    SessionImplementor session)
                             throws HibernateException

  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.
  Throws:
    `HibernateException` - Indicates an error generating the proxy.

### 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()

### getFactory

    protected final SessionFactoryImplementor getFactory()

### getInstantiator

    protected final Instantiator getInstantiator()

### getProxyFactory

    protected final ProxyFactory getProxyFactory()

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

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

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