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, toString
public EntityMode getEntityMode()
EntityTuplizer
Return the entity-mode handled by this tuplizer instance.
protected Getter buildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity)
AbstractEntityTuplizer
Build an appropriate Getter for the given property.
buildPropertyGetter
in class AbstractEntityTuplizer
mappedProperty
- 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)
AbstractEntityTuplizer
Build an appropriate Setter for the given property.
buildPropertySetter
in class AbstractEntityTuplizer
mappedProperty
- 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)
AbstractEntityTuplizer
Build an appropriate Instantiator for the given mapped entity.
buildInstantiator
in class AbstractEntityTuplizer
mappingInfo
- The mapping information regarding the mapped entity.protected ProxyFactory buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter)
AbstractEntityTuplizer
Build an appropriate ProxyFactory for the given mapped entity.
buildProxyFactory
in class AbstractEntityTuplizer
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.public Class getMappedClass()
Tuplizer
Return 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()
EntityTuplizer
Returns 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()
EntityTuplizer
Get any EntityNameResolvers
associated with this Tuplizer
.
public String determineConcreteSubclassEntityName(Object entityInstance, SessionFactoryImplementor factory)
EntityTuplizer
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. <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.