org.hibernate.tuple.component

Class PojoComponentTuplizer

Implemented Interfaces:
ComponentTuplizer, Serializable, Tuplizer

public class PojoComponentTuplizer
extends AbstractComponentTuplizer

A ComponentTuplizer specific to the pojo entity mode.
Authors:
Gavin King
Steve Ebersole

Field Summary

Fields inherited from class org.hibernate.tuple.component.AbstractComponentTuplizer

getters, hasCustomAccessors, instantiator, propertySpan, setters

Constructor Summary

PojoComponentTuplizer(Component component)

Method Summary

protected Getter
buildGetter(Component component, Property prop)
protected Instantiator
buildInstantiator(Component component)
protected Setter
buildSetter(Component component, Property prop)
Class
getMappedClass()
Return the pojo class managed by this tuplizer.
Object
getParent(Object component)
Retreive the current value of the parent property.
Object[]
getPropertyValues(Object component)
Extract the current values contained on the given entity.
boolean
hasParentProperty()
Does the component managed by this tuuplizer contain a parent property?
boolean
isMethodOf(Method method)
Is the given method available via the managed component as a property getter?
void
setParent(Object component, Object parent, SessionFactoryImplementor factory)
Set the value of the parent property.
void
setPropertyValues(Object component, Object[] values)
Inject the given values into the given entity.

Methods inherited from class org.hibernate.tuple.component.AbstractComponentTuplizer

buildGetter, buildInstantiator, buildSetter, getParent, getPropertyValue, getPropertyValues, hasParentProperty, instantiate, isInstance, isMethodOf, setParent, setPropertyValues

Constructor Details

PojoComponentTuplizer

public PojoComponentTuplizer(Component component)

Method Details

buildGetter

protected Getter buildGetter(Component component,
                             Property prop)
Overrides:
buildGetter in interface AbstractComponentTuplizer

buildInstantiator

protected Instantiator buildInstantiator(Component component)
Overrides:
buildInstantiator in interface AbstractComponentTuplizer

buildSetter

protected Setter buildSetter(Component component,
                             Property prop)
Overrides:
buildSetter in interface AbstractComponentTuplizer

getMappedClass

public Class getMappedClass()
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...
Specified by:
getMappedClass in interface Tuplizer
Returns:
The persistent class.

getParent

public Object getParent(Object component)
Retreive the current value of the parent property.
Specified by:
getParent in interface ComponentTuplizer
Overrides:
getParent in interface AbstractComponentTuplizer
Parameters:
component - The component instance from which to extract the parent property value.
Returns:
The current value of the parent property.

getPropertyValues

public Object[] getPropertyValues(Object component)
            throws HibernateException
Extract the current values contained on the given entity.
Specified by:
getPropertyValues in interface Tuplizer
Overrides:
getPropertyValues in interface AbstractComponentTuplizer
Parameters:
Returns:
The current property values.

hasParentProperty

public boolean hasParentProperty()
Does the component managed by this tuuplizer contain a parent property?
Specified by:
hasParentProperty in interface ComponentTuplizer
Overrides:
hasParentProperty in interface AbstractComponentTuplizer
Returns:
True if the component does contain a parent property; false otherwise.

isMethodOf

public boolean isMethodOf(Method method)
Is the given method available via the managed component as a property getter?
Specified by:
isMethodOf in interface ComponentTuplizer
Overrides:
isMethodOf in interface AbstractComponentTuplizer
Parameters:
method - The method which to check against the managed component.
Returns:
True if the managed component is available from the managed component; else false.

setParent

public void setParent(Object component,
                      Object parent,
                      SessionFactoryImplementor factory)
Set the value of the parent property.
Specified by:
setParent in interface ComponentTuplizer
Overrides:
setParent in interface AbstractComponentTuplizer
Parameters:
component - The component instance on which to set the parent.
parent - The parent to be set on the comonent.
factory - The current session factory.

setPropertyValues

public void setPropertyValues(Object component,
                              Object[] values)
            throws HibernateException
Inject the given values into the given entity.
Specified by:
setPropertyValues in interface Tuplizer
Overrides:
setPropertyValues in interface AbstractComponentTuplizer
Parameters:
values - The values to be injected.