Interface Tuplizer

All Known Subinterfaces:
ComponentTuplizer, EntityTuplizer
All Known Implementing Classes:
AbstractComponentTuplizer, AbstractEntityTuplizer, Dom4jComponentTuplizer, Dom4jEntityTuplizer, DynamicMapComponentTuplizer, DynamicMapEntityTuplizer, PojoComponentTuplizer, PojoEntityTuplizer

public interface Tuplizer
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 Element as the data structure and know how to access the values as either nested Elements or as Attributes.
See Also:
  • Method Details

    • getPropertyValues

      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.
    • setPropertyValues

      void setPropertyValues(Object entity, Object[] values)
      Inject the given values into the given entity.
      Parameters:
      entity - The entity.
      values - The values to be injected.
    • getPropertyValue

      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.
    • instantiate

      Object instantiate()
      Generate a new, empty entity.
      Returns:
      The new, empty entity instance.
    • isInstance

      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.
    • getMappedClass

      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.
    • getGetter

      Getter getGetter(int i)
      Retrieve the getter for the specified property.
      Parameters:
      i - The property index.
      Returns:
      The property getter.