public class DynamicMapEntityTuplizer extends AbstractEntityTuplizer
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
protected Getter buildPropertyGetter(Property mappedProperty, PersistentClass mappedEntity)
AbstractEntityTuplizer
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
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
buildInstantiator
in class AbstractEntityTuplizer
mappingInfo
- The mapping information regarding the mapped entity.protected ProxyFactory buildProxyFactory(PersistentClass mappingInfo, Getter idGetter, Setter idSetter)
AbstractEntityTuplizer
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
public Class getConcreteProxyClass()
EntityTuplizer
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
EntityNameResolvers
associated with this Tuplizer
.public String determineConcreteSubclassEntityName(Object entityInstance, SessionFactoryImplementor factory)
EntityTuplizer
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).
entityInstance
- The entity instance.factory
- Reference to the SessionFactory.Copyright © 2017 JBoss by Red Hat. All rights reserved.