## org.hibernate.tuple.entity
Class DynamicMapEntityTuplizer

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

All Implemented Interfaces:
  EntityTuplizer, Tuplizer

    public class DynamicMapEntityTuplizer

extends AbstractEntityTuplizer

An `EntityTuplizer` specific to the dynamic-map entity mode.

Nested Class Summary
`static class` `DynamicMapEntityTuplizer.BasicEntityNameResolver`

Field Summary

Fields inherited from class org.hibernate.tuple.entity.AbstractEntityTuplizer
`getters, hasCustomAccessors, propertySpan, setters`

Method Summary
`protected Instantiator` `buildInstantiator(EntityBinding mappingInfo)` Build an appropriate Instantiator for the given mapped entity.
`protected Instantiator` `buildInstantiator(PersistentClass mappingInfo)` Build an appropriate Instantiator for the given mapped entity.
`protected Getter` `buildPropertyGetter(AttributeBinding mappedProperty)` Build an appropriate Getter for the given property.
`protected Getter` `buildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity)` Build an appropriate Getter for the given property.
`protected Setter` `buildPropertySetter(AttributeBinding mappedProperty)` Build an appropriate Setter for the given property.
`protected Setter` `buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity)` Build an appropriate Setter for the given property.
`protected ProxyFactory` `buildProxyFactory(EntityBinding mappingInfo, Getter idGetter, Setter idSetter)` Build an appropriate ProxyFactory for the given mapped entity.
`protected ProxyFactory` `buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter)` Build an appropriate ProxyFactory for the given mapped entity.
`String` `determineConcreteSubclassEntityName(Object entityInstance, SessionFactoryImplementor factory)` Given an entity instance, determine the most appropriate (most targeted) entity-name which represents it.
`static String` `extractEmbeddedEntityName(Map entity)`
`Class` `getConcreteProxyClass()` Returns the java class to which generated proxies will be typed.
`EntityMode` `getEntityMode()` Return the entity-mode handled by this tuplizer instance.
`EntityNameResolver[]` `getEntityNameResolvers()` Get any `EntityNameResolvers` associated with this `Tuplizer`.
`Class` `getMappedClass()` Return the pojo class managed by this tuplizer.
`boolean` `isInstrumented()` Is it an instrumented POJO?

Methods inherited from class org.hibernate.tuple.entity.AbstractEntityTuplizer

`afterInitialize, createProxy, getComponentValue, getEntityMetamodel, getEntityName, getFactory, getGetter, getIdentifier, getIdentifier, getIdentifierGetter, getIdentifierMapperType, getInstantiator, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getProxyFactory, getSubclassEntityNames, getVersion, getVersionGetter, hasProxy, hasUninitializedLazyProperties, instantiate, instantiate, instantiate, isInstance, isLifecycleImplementor, resetIdentifier, resetIdentifier, setIdentifier, setIdentifier, setPropertyValue, setPropertyValue, setPropertyValues, shouldGetAllProperties, toString`

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

Method Detail

### getEntityMode

    public EntityMode getEntityMode()

  Return the entity-mode handled by this tuplizer instance.

  Returns:
    The entity-mode

### buildPropertyGetter

    protected Getter buildPropertyGetter(Property mappedProperty,
                                         PersistentClass mappedEntity)

  Build an appropriate Getter for the given property.

  Specified by:
    `buildPropertyGetter` in class `AbstractEntityTuplizer`
  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 Setter buildPropertySetter(Property mappedProperty,
                                         PersistentClass mappedEntity)

  Build an appropriate Setter for the given property.

  Specified by:
    `buildPropertySetter` in class `AbstractEntityTuplizer`
  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 Instantiator buildInstantiator(PersistentClass mappingInfo)

  Build an appropriate Instantiator for the given mapped entity.

  Specified by:
    `buildInstantiator` in class `AbstractEntityTuplizer`
  Parameters:
    `mappingInfo` - The mapping information regarding the mapped entity.
  Returns:
    An appropriate Instantiator instance.

### buildProxyFactory

    protected ProxyFactory buildProxyFactory(PersistentClass mappingInfo,
                                             Getter idGetter,
                                             Setter idSetter)

  Build an appropriate ProxyFactory for the given mapped entity.

  Specified by:
    `buildProxyFactory` in class `AbstractEntityTuplizer`
  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 Getter buildPropertyGetter(AttributeBinding mappedProperty)

  Build an appropriate Getter for the given property.

  Specified by:
    `buildPropertyGetter` in class `AbstractEntityTuplizer`
  Parameters:
    `mappedProperty` - The property to be accessed via the built Getter.
  Returns:
    An appropriate Getter instance.

### buildPropertySetter

    protected Setter buildPropertySetter(AttributeBinding mappedProperty)

  Build an appropriate Setter for the given property.

  Specified by:
    `buildPropertySetter` in class `AbstractEntityTuplizer`
  Parameters:
    `mappedProperty` - The property to be accessed via the built Setter.
  Returns:
    An appropriate Setter instance.

### buildInstantiator

    protected Instantiator buildInstantiator(EntityBinding mappingInfo)

  Build an appropriate Instantiator for the given mapped entity.

  Specified by:
    `buildInstantiator` in class `AbstractEntityTuplizer`
  Parameters:
    `mappingInfo` - The mapping information regarding the mapped entity.
  Returns:
    An appropriate Instantiator instance.

### buildProxyFactory

    protected ProxyFactory buildProxyFactory(EntityBinding mappingInfo,
                                             Getter idGetter,
                                             Setter idSetter)

  Build an appropriate ProxyFactory for the given mapped entity.

  Specified by:
    `buildProxyFactory` in class `AbstractEntityTuplizer`
  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.

### getMappedClass

    public Class getMappedClass()

  Return the pojo class managed by this tuplizer. Need to determine how to best handle this for the Tuplizers for EntityModes other than POJO. todo : be really nice to not have this here since it is essentially pojo specific...

  Returns:
    The persistent class.

### getConcreteProxyClass

    public Class getConcreteProxyClass()

  Returns the java class to which generated proxies will be typed.

  todo : look at fully encapsulating `PersistenceContext.narrowProxy(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.engine.spi.EntityKey, java.lang.Object)` here, since that is the only external use of this method

  Returns:
    The java class to which generated proxies will be typed

### isInstrumented

    public boolean isInstrumented()

  Is it an instrumented POJO?

  Returns:
    `true` if the entity class is instrumented; `false` otherwise.

### getEntityNameResolvers

    public EntityNameResolver[] getEntityNameResolvers()

  Get any `EntityNameResolvers` associated with this `Tuplizer`.

  Returns:
    The associated resolvers. May be null or empty.

### determineConcreteSubclassEntityName

    public String determineConcreteSubclassEntityName(Object entityInstance,
                                                      SessionFactoryImplementor factory)

  Given an entity instance, determine the most appropriate (most targeted) entity-name which represents it. This is called in situations where we already know an entity name for the given entityInstance; we are being asked to determine if there is a more appropriate entity-name to use, specifically within an inheritence hierarchy.

  For example, consider a case where a user calls `session.update( "Animal", cat );`. Here, the user has explicitly provided `Animal` as the entity-name. However, they have passed in an instance of `Cat` which is a subclass of `Animal`. In this case, we would return `Cat` as the entity-name.

  `null` may be returned from calls to this method. The meaining of `null` in that case is assumed to be that we should use whatever explicit entity-name the user provided (`Animal` rather than `Cat` in the example above).

  Parameters:
    `entityInstance` - The entity instance.
    `factory` - Reference to the SessionFactory.
  Returns:
    The most appropriate entity name to use.

### extractEmbeddedEntityName

    public static String extractEmbeddedEntityName(Map entity)

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