The datamapper API is a simple layer to map various type serializations to attribute-value trees. It is based on external mapping definitions, which define how to parse a particular serialization format to attributes and their values, and back. Nesting is also supported. It is implemented in Java.
Implementations of the API are independent of it, and will be located at runtime using Java Service Provider Interface. At the moment, a working implementation based on the xom XML model is available, and implementations for Google Protocol Buffers, JSON, SQL and CSV are being worked on. Please contact Ingo if you'd like an early view at these and to help out!
The API relies on mapping definitions to determine how to convert the internal attribute-value tree to the serialization format. For serialization formats that have interface description languages (IDLs), it is expected that these IDLs can serve as the mapping definition. However, some features, such as default values, may require additional mapping definitions for IDLs which do not support them natively.
For XOM, which is using XML as the serialization format, no IDL is available, so a custom one had to be defined, which is described in MappingXOM.