Interface Tuplizer

  • All Known Subinterfaces:
    ComponentTuplizer, EntityTuplizer
    All Known Implementing Classes:
    AbstractComponentTuplizer, AbstractEntityTuplizer, 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

    See Also:
    EntityTuplizer, ComponentTuplizer
    • Method Detail

      • 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 (accounting 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.