Defines further responsibilities reagarding tuplization based on
a mapped entity.
EntityTuplizer implementations should have the following constructor signature:
(org.hibernate.tuple.entity.EntityMetamodel, org.hibernate.mapping.PersistentClass)
afterInitialize
public void afterInitialize(Object entity,
boolean lazyPropertiesAreUnfetched,
SessionImplementor session)
Called just after the entities properties have been initialized.
entity
- The entity being initialized.lazyPropertiesAreUnfetched
- Are defined lazy properties currently unfecthedsession
- The session initializing this entity.
createProxy
public Object createProxy(Serializable id,
SessionImplementor session)
throws HibernateException
Generates an appropriate proxy representation of this entity for this
entity-mode.
id
- The id of the instance for which to generate a proxy.session
- The session to which the proxy should be bound.
getConcreteProxyClass
public Class getConcreteProxyClass()
Returns the java class to which generated proxies will be typed.
- The java class to which generated proxies will be typed
getIdentifier
public Serializable getIdentifier(Object entity)
throws HibernateException
Extract the identifier value from the given entity.
entity
- The entity from which to extract the identifier value.
HibernateException
- If the entity does not define an identifier property, or an
error occurrs accessing its value.
getPropertyValue
public Object getPropertyValue(Object entity,
String propertyName)
throws HibernateException
Extract the value of a particular property from the given entity.
entity
- The entity from which to extract the property value.propertyName
- The name of the property for which to extract the value.
- The current value of the given property on the given entity.
getPropertyValuesToInsert
public Object[] getPropertyValuesToInsert(Object entity,
Map mergeMap,
SessionImplementor session)
throws HibernateException
Extract the values of the insertable properties of the entity (including backrefs)
entity
- The entity from which to extract.mergeMap
- a map of instances being merged to merged instancessession
- The session in which the resuest is being made.
- The insertable property values.
getVersion
public Object getVersion(Object entity)
throws HibernateException
Extract the value of the version property from the given entity.
entity
- The entity from which to extract the version value.
- The value of the version property, or null if not versioned.
hasProxy
public boolean hasProxy()
Does this entity, for this mode, present a possibility for proxying?
- True if this tuplizer can generate proxies for this entity.
hasUninitializedLazyProperties
public boolean hasUninitializedLazyProperties(Object entity)
Does the given entity instance have any currently uninitialized lazy properties?
entity
- The entity to be check for uninitialized lazy properties.
- True if uninitialized lazy properties were found; false otherwise.
instantiate
public Object instantiate(Serializable id)
throws HibernateException
Create an entity instance initialized with the given identifier.
id
- The identifier value for the entity to be instantiated.
isInstrumented
public boolean isInstrumented()
Is it an instrumented POJO?
isLifecycleImplementor
public boolean isLifecycleImplementor()
Does the
class
managed by this tuplizer implement
the
Lifecycle
interface.
- True if the Lifecycle interface is implemented; false otherwise.
isValidatableImplementor
public boolean isValidatableImplementor()
Does the
class
managed by this tuplizer implement
the
Validatable
interface.
- True if the Validatable interface is implemented; false otherwise.
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.
currentId
- The identifier value to inject into the entity.currentVersion
- The version value to inject into the entity.
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
entity
- The entity to inject with the identifier value.id
- The value to be injected as the identifier.
setPropertyValue
public void setPropertyValue(Object entity,
String propertyName,
Object value)
throws HibernateException
Inject the value of a particular property.
entity
- The entity into which to inject the value.propertyName
- The name of the property.value
- The property value to inject.
setPropertyValue
public void setPropertyValue(Object entity,
int i,
Object value)
throws HibernateException
Inject the value of a particular property.
entity
- The entity into which to inject the value.i
- The property's index.value
- The property value to inject.