org.hibernate.tuple.entity
Class Dom4jEntityTuplizer

java.lang.Object
  extended by org.hibernate.tuple.entity.AbstractEntityTuplizer
      extended by org.hibernate.tuple.entity.Dom4jEntityTuplizer
All Implemented Interfaces:
EntityTuplizer, Tuplizer

public class Dom4jEntityTuplizer
extends AbstractEntityTuplizer

An EntityTuplizer specific to the dom4j entity mode.

Author:
Steve Ebersole, Gavin King

Field Summary
 
Fields inherited from class org.hibernate.tuple.entity.AbstractEntityTuplizer
getters, hasCustomAccessors, propertySpan, setters
 
Method Summary
protected  Instantiator buildInstantiator(PersistentClass persistentClass)
          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.
 Class getConcreteProxyClass()
          Returns the java class to which generated proxies will be typed.
 EntityMode getEntityMode()
          Return the entity-mode handled by this tuplizer instance.
 Serializable getIdentifier(Object entityOrId)
          Extract the identifier value from the given entity.
 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, getInstantiator, getPropertyValue, getPropertyValue, getPropertyValues, getPropertyValuesToInsert, getProxyFactory, getSubclassEntityNames, getVersion, hasProxy, hasUninitializedLazyProperties, instantiate, instantiate, isInstance, isLifecycleImplementor, isValidatableImplementor, resetIdentifier, 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()
Description copied from class: AbstractEntityTuplizer
Return the entity-mode handled by this tuplizer instance.

Specified by:
getEntityMode in class AbstractEntityTuplizer
Returns:
The entity-mode

buildPropertyGetter

protected Getter buildPropertyGetter(Property mappedProperty,
                                     PersistentClass mappedEntity)
Description copied from class: AbstractEntityTuplizer
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)
Description copied from class: AbstractEntityTuplizer
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 persistentClass)
Description copied from class: AbstractEntityTuplizer
Build an appropriate Instantiator for the given mapped entity.

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

getIdentifier

public Serializable getIdentifier(Object entityOrId)
                           throws HibernateException
Description copied from interface: EntityTuplizer
Extract the identifier value from the given entity.

Specified by:
getIdentifier in interface EntityTuplizer
Overrides:
getIdentifier in class AbstractEntityTuplizer
Parameters:
entityOrId - The entity from which to extract the identifier value.
Returns:
The identifier value.
Throws:
HibernateException - If the entity does not define an identifier property, or an error occurrs accessing its value.

buildProxyFactory

protected ProxyFactory buildProxyFactory(PersistentClass mappingInfo,
                                         Getter idGetter,
                                         Setter idSetter)
Description copied from class: AbstractEntityTuplizer
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()
Description copied from interface: Tuplizer
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()
Description copied from interface: EntityTuplizer
Returns the java class to which generated proxies will be typed.

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

isInstrumented

public boolean isInstrumented()
Description copied from interface: EntityTuplizer
Is it an instrumented POJO?