public interface

Tuplizer

org.hibernate.tuple.Tuplizer
Known Indirect Subclasses

Class Overview

A tuplizer defines the contract for things which know how to manage a particular representation of a piece of data, given that representation's EntityMode (the entity-mode essentially defining which representation).

If that given piece of data is thought of as a data structure, then a tuplizer is the thing which knows how to
  • create such a data structure appropriately
  • extract values from and inject values into such a data structure

For example, a given piece of data might be represented as a POJO class. Here, it's representation and entity-mode is POJO. Well a tuplizer for POJO entity-modes would know how to
  • create the data structure by calling the POJO's constructor
  • extract and inject values through getters/setter, or by direct field access, etc

That same piece of data might also be represented as a DOM structure, using the tuplizer associated with the DOM4J entity-mode, which would generate instances of org.dom4j.Element as the data structure and know how to access the values as either nested org.dom4j.Elements or as org.dom4j.Attributes.

Summary

Public Methods
abstract Getter getGetter(int i)
Retrieve the getter for the specified property.
abstract Class getMappedClass()
Return the pojo class managed by this tuplizer.
abstract Object getPropertyValue(Object entity, int i)
Extract the value of a particular property from the given entity.
abstract Object[] getPropertyValues(Object entity)
Extract the current values contained on the given entity.
abstract Object instantiate()
Generate a new, empty entity.
abstract boolean isInstance(Object object)
Is the given object considered an instance of the the entity (acconting for entity-mode) managed by this tuplizer.
abstract void setPropertyValues(Object entity, Object[] values)
Inject the given values into the given entity.

Public Methods

public abstract Getter getGetter (int i)

Retrieve the getter for the specified property.

Parameters
i The property index.
Returns
  • The property getter.

public abstract 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...

Returns
  • The persistent class.

public abstract Object getPropertyValue (Object entity, int i)

Extract the value of a particular property from the given entity.

Parameters
entity 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.

public abstract Object[] getPropertyValues (Object entity)

Extract the current values contained on the given entity.

Parameters
entity The entity from which to extract values.
Returns
  • The current property values.

public abstract Object instantiate ()

Generate a new, empty entity.

Returns
  • The new, empty entity instance.

public abstract boolean isInstance (Object object)

Is the given object considered an instance of the the entity (acconting for entity-mode) managed by this 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.

public abstract void setPropertyValues (Object entity, Object[] values)

Inject the given values into the given entity.

Parameters
entity The entity.
values The values to be injected.