A tuplizer defines the contract for things which know how to manage a particular representation of a piece of data, given that representation's {@link org.hibernate.EntityMode} (the entity-modeessentially 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 {@link org.dom4j.Element} as the data structure and know how to access thevalues as either nested {@link org.dom4j.Element}s or as {@link org.dom4j.Attribute}s.
@see org.hibernate.tuple.entity.EntityTuplizer
@see org.hibernate.tuple.component.ComponentTuplizer
@author Steve Ebersole