org.hibernate.tuple.component
Class AbstractComponentTuplizer

java.lang.Object
  extended by org.hibernate.tuple.component.AbstractComponentTuplizer
All Implemented Interfaces:
Serializable, ComponentTuplizer, Tuplizer
Direct Known Subclasses:
DynamicMapComponentTuplizer, PojoComponentTuplizer

public abstract class AbstractComponentTuplizer
extends Object
implements ComponentTuplizer

Support for tuplizers relating to components.

See Also:
Serialized Form

Field Summary
protected  Getter[] getters
           
protected  boolean hasCustomAccessors
           
protected  Instantiator instantiator
           
protected  int propertySpan
           
protected  Setter[] setters
           
 
Constructor Summary
protected AbstractComponentTuplizer(Component component)
           
 
Method Summary
protected abstract  Getter buildGetter(Component component, Property prop)
           
protected abstract  Instantiator buildInstantiator(Component component)
           
protected abstract  Setter buildSetter(Component component, Property prop)
           
 Getter getGetter(int i)
          Retrieve the getter for the specified property.
 Object getParent(Object component)
          Retreive the current value of the parent property.
 Object getPropertyValue(Object component, int i)
          Extract the value of a particular property from the given entity.
 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?
 Object instantiate()
          This method does not populate the component parent
 boolean isInstance(Object object)
          Is the given object considered an instance of the the entity (acconting for entity-mode) managed by this tuplizer.
 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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.hibernate.tuple.Tuplizer
getMappedClass
 

Field Detail

getters

protected final Getter[] getters

setters

protected final Setter[] setters

propertySpan

protected final int propertySpan

instantiator

protected final Instantiator instantiator

hasCustomAccessors

protected final boolean hasCustomAccessors
Constructor Detail

AbstractComponentTuplizer

protected AbstractComponentTuplizer(Component component)
Method Detail

buildInstantiator

protected abstract Instantiator buildInstantiator(Component component)

buildGetter

protected abstract Getter buildGetter(Component component,
                                      Property prop)

buildSetter

protected abstract Setter buildSetter(Component component,
                                      Property prop)

getPropertyValue

public Object getPropertyValue(Object component,
                               int i)
                        throws HibernateException
Description copied from interface: Tuplizer
Extract the value of a particular property from the given entity.

Specified by:
getPropertyValue in interface Tuplizer
Parameters:
component - The entity from which to extract the property value.
i - The index of the property for which to extract the value.
Returns:
The current value of the given property on the given entity.
Throws:
HibernateException

getPropertyValues

public Object[] getPropertyValues(Object component)
                           throws HibernateException
Description copied from interface: Tuplizer
Extract the current values contained on the given entity.

Specified by:
getPropertyValues in interface Tuplizer
Parameters:
component - The entity from which to extract values.
Returns:
The current property values.
Throws:
HibernateException

isInstance

public boolean isInstance(Object object)
Description copied from interface: Tuplizer
Is the given object considered an instance of the the entity (acconting for entity-mode) managed by this tuplizer.

Specified by:
isInstance in interface Tuplizer
Parameters:
object - The object to be checked.
Returns:
True if the object is considered as an instance of this entity within the given mode.

setPropertyValues

public void setPropertyValues(Object component,
                              Object[] values)
                       throws HibernateException
Description copied from interface: Tuplizer
Inject the given values into the given entity.

Specified by:
setPropertyValues in interface Tuplizer
Parameters:
component - The entity.
values - The values to be injected.
Throws:
HibernateException

instantiate

public Object instantiate()
                   throws HibernateException
This method does not populate the component parent

Specified by:
instantiate in interface Tuplizer
Returns:
The new, empty entity instance.
Throws:
HibernateException

getParent

public Object getParent(Object component)
Description copied from interface: ComponentTuplizer
Retreive the current value of the parent property.

Specified by:
getParent in interface ComponentTuplizer
Parameters:
component - The component instance from which to extract the parent property value.
Returns:
The current value of the parent property.

hasParentProperty

public boolean hasParentProperty()
Description copied from interface: ComponentTuplizer
Does the component managed by this tuuplizer contain a parent property?

Specified by:
hasParentProperty in interface ComponentTuplizer
Returns:
True if the component does contain a parent property; false otherwise.

isMethodOf

public boolean isMethodOf(Method method)
Description copied from interface: ComponentTuplizer
Is the given method available via the managed component as a property getter?

Specified by:
isMethodOf in interface ComponentTuplizer
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)
Description copied from interface: ComponentTuplizer
Set the value of the parent property.

Specified by:
setParent in interface ComponentTuplizer
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.

getGetter

public Getter getGetter(int i)
Description copied from interface: Tuplizer
Retrieve the getter for the specified property.

Specified by:
getGetter in interface Tuplizer
Parameters:
i - The property index.
Returns:
The property getter.


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.