The Class Mapping API
This package provides a common base for the class mapping descriptors and tools to generate mapping descriptors from a mapping file. The Java objects for the XML-based mapping file are contained in the sub-package xml and the DTD and XML schema originate in this package. The sub-package loader implements a mapping loader.
{@link org.exolab.castor.mapping.Mapping} serves as a generic mapping loader that can be used to load multiple mapping files and feed them to the XML marshaller, JDO engine, and DAX engine.
{@link org.exolab.castor.mapping.ClassDescriptor} is a mapping descriptor for a Java class, consisting of any number of fields. {@link org.exolab.castor.mapping.FieldDescriptor} is a mapping descriptor for a Java field within that class. Access to the field value is granted through a {@link org.exolab.castor.mapping.FieldHandler}, obtained from the field descriptor.
{@link org.exolab.castor.mapping.MappingResolver} is an interface to a collection of class mapping that can provide the mapping descriptor for a particular Java class. A MappingResolver is constructed using a mapping loader, see the loader package.
The following example illustrates how to load a mapping file with the current class loader and use it to marshal an object:
Mapping map; Marshaller mar; // Load the specified mapping file map = new Mapping( getClass().getClassLoader() ); map.loadMapping( "mapping.xml" ); // Marshal the object into a document mar = new Marshaller( output ); mar.setMapping( mapping ); mar.marshal( object );