public class DynamicMapEntityTuplizer extends AbstractEntityTuplizer
An EntityTuplizer specific to the dynamic-map entity mode.
| Modifier and Type | Class and Description |
|---|---|
static class |
DynamicMapEntityTuplizer.BasicEntityNameResolver |
getters, hasCustomAccessors, propertySpan, setters| Modifier and Type | Method and Description |
|---|---|
protected Instantiator |
buildInstantiator(EntityMetamodel entityMetamodel,
PersistentClass mappingInfo)
Build an appropriate Instantiator for the given mapped entity.
|
protected Getter |
buildPropertyGetter(Property mappedProperty,
PersistentClass mappedEntity)
Build an appropriate Getter for the given property.
|
protected Setter |
buildPropertySetter(Property mappedProperty,
PersistentClass mappedEntity)
Build an appropriate Setter for the given property.
|
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.
|
afterInitialize, createProxy, getComponentValue, getEntityMetamodel, getEntityName, getFactory, getGetter, getIdentifier, getIdentifier, getIdentifierGetter, getIdentifierMapperType, getInstantiator, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getProxyFactory, getSubclassEntityNames, getVersion, getVersionGetter, hasProxy, instantiate, instantiate, instantiate, isInstance, isLifecycleImplementor, resetIdentifier, resetIdentifier, setIdentifier, setIdentifier, setPropertyValue, setPropertyValue, setPropertyValues, shouldGetAllProperties, toStringpublic EntityMode getEntityMode()
EntityTuplizerReturn the entity-mode handled by this tuplizer instance.
protected Getter buildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity)
AbstractEntityTuplizerBuild an appropriate Getter for the given property.
buildPropertyGetter in class AbstractEntityTuplizermappedProperty - The property to be accessed via the built Getter.mappedEntity - The entity information regarding the mapped entity owning this property.protected Setter buildPropertySetter(Property mappedProperty, PersistentClass mappedEntity)
AbstractEntityTuplizerBuild an appropriate Setter for the given property.
buildPropertySetter in class AbstractEntityTuplizermappedProperty - The property to be accessed via the built Setter.mappedEntity - The entity information regarding the mapped entity owning this property.protected Instantiator buildInstantiator(EntityMetamodel entityMetamodel, PersistentClass mappingInfo)
AbstractEntityTuplizerBuild an appropriate Instantiator for the given mapped entity.
buildInstantiator in class AbstractEntityTuplizermappingInfo - The mapping information regarding the mapped entity.protected ProxyFactory buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter)
AbstractEntityTuplizerBuild an appropriate ProxyFactory for the given mapped entity.
buildProxyFactory in class AbstractEntityTuplizermappingInfo - 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.public Class getMappedClass()
TuplizerReturn the pojo class managed by this tuplizer. </p> Need to determine how to best handle this for the Tuplizers for EntityModes other than POJO. </p> todo : be really nice to not have this here since it is essentially pojo specific…
public Class getConcreteProxyClass()
EntityTuplizerReturns the java class to which generated proxies will be typed.
<p/>
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
public EntityNameResolver[] getEntityNameResolvers()
EntityTuplizerGet any EntityNameResolvers associated with this Tuplizer.
public String determineConcreteSubclassEntityName(Object entityInstance, SessionFactoryImplementor factory)
EntityTuplizerGiven 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. <p/> For example, consider a case where a user calls <tt>session.update( "Animal", cat );</tt>. Here, the user has explicitly provided <tt>Animal</tt> as the entity-name. However, they have passed in an instance of <tt>Cat</tt> which is a subclass of <tt>Animal</tt>. In this case, we would return <tt>Cat</tt> as the entity-name. <p/> <tt>null</tt> may be returned from calls to this method. The meaining of <tt>null</tt> in that case is assumed to be that we should use whatever explicit entity-name the user provided (<tt>Animal</tt> rather than <tt>Cat</tt> in the example above).
entityInstance - The entity instance.factory - Reference to the SessionFactory.Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.