The XML Marshaller API
Marshaller marshalls a Java object into an XML document.
       Unmarshaller unmarshalls an XML document back into a Java
       object.
The following example unmarshals the XML document product.xml into a Product object, performs simple changes to the object and then marshals it back into an XML document.
  Product      prod;
  File         file;
  file = new File( "product.xml" );
  // Unmarshal the document into an object
  prod = (Product) Unmarshaller.unmarshal( Product.class, new FileReader( file ) );
  // A 25% mark down for each product and mark as sale
  prod.markDown( 0.25 );
  prod.setOnSale( true );
  // Marshal the object into a document
  Marshaller.marshal( Product, new FileWriter( file ) );
    
    In addition to static methods, marshaller objects can be created and set with a variety of options affecting how they will operation. The above example adapted to use a specific mapping file:
  Mapping      map;
  Unmarshaller umr;
  Marshaller   mar;
  // Load the specified mapping file
  map = new Mapping();
  map.loadMapping( "mapping.xml" );
  // Unmarshal the document into an object
  umr = new Unmarshaller( Product.class );
  umr.setMapping( mapping );
  prod = (Product) umr.unmarshal( new FileReader( file ) );
  : : :
  // Marshal the object into a document
  mar = new Marshaller( new FileWriter( file ) );
  mar.setMapping( mapping );
  mar.marshal( Product );
    | Interface | Description | 
|---|---|
| AttributeSet | 
 A simple interface for handling Attributes in the Marshalling
 Framework. 
 | 
| ClassDescriptorResolver | 
 An interface for finding or "resolving" ClassDescriptor classes. 
 | 
| EventProducer | Deprecated.
 use @see org.castor.xml.SAX2EventProducer instead. 
 | 
| IDResolver | 
 A simple interface for doing custom IDREF resolving
 during Unmarshalling. 
 | 
| MarshalListener | 
 An interface to allow external "listening" to objects when
 they are being marshalled for various tracking purposes and
 potential modification, and to prevent an object from
 being marshalled if necessary. 
 | 
| OutputFormat | 
 Output format contract for XML serialization. 
 | 
| SAX2EventAndErrorProducer | 
 A interface which extends  
SAX2EventProducer. | 
| SAX2EventProducer | 
 A interface which abstracts anything which can produce SAX 2 events. 
 | 
| Serializer | 
 Interface contract for XML serialization business. 
 | 
| TypeValidator | 
 The basic type validation interface class. 
 | 
| UnmarshalListener | Deprecated.
 a new extended interface was introduced 
 | 
| XMLClassDescriptor | 
 A class descriptor for describing relationships between a Class
 and an XML element or complexType. 
 | 
| XMLClassDescriptorResolver | 
 An interface for finding or "resolving" XMLClassDescriptor classes. 
 | 
| XMLConstants | 
 Constants used by all of Castor-XML are defined here. 
 | 
| XMLFieldDescriptor | 
 XML field descriptor. 
 | 
| XMLSerializerFactory | 
 Configurable factory object for XML serialization. 
 | 
| Class | Description | 
|---|---|
| AbstractXMLNaming | 
 An abstract class to handing XML naming 
 | 
| AccessRights | 
 A class used to indicate access rights 
 | 
| AIXXercesJDK5Serializer | 
 Xerces-specific implementation of the Serializer interface for AIX, used for
 JDK 5 on AIX only where Xerces has been integrated with the core code base. 
 | 
| AIXXercesJDK5XMLSerializerFactory | 
 Xerces-specific implementation of the  
XMLSerializerFactory interface. | 
| BaseSax2EventFromStaxProducer | 
 This provides shared code for  
Sax2EventFromStaxEventProducer and
 Sax2EventFromStaxStreamProducer. | 
| BaseXercesJDK5Serializer | 
 Xerces-specific implementation of the Serializer interface, used for JDK 5
 only where Xerecs has been integrated with the core code base. 
 | 
| BaseXercesOutputFormat | 
 Xerces-specific OutputFormat instance. 
 | 
| CharactersProcessor | 
 A processor that assists  
UnmarshalHandler in dealing with the SAX 2
 ContentHandler.characters(char[], int, int) callback method. | 
| ClassDescriptorResolverFactory | 
 A factory that - based upon the binding type specified - returns
  
ClassDescriptorResolver instances. | 
| DebugHandler | 
 A Simple SAX1 DocumentHandler that intercepts SAX events and prints them to
 the console. 
 | 
| DescriptorType | 
 This class represents the Possible Descriptor types used
 by the marshalling Framework. 
 | 
| EndElementProcessor | 
 A processor that assists  
UnmarshalHandler in dealing with the SAX 2
 ContentHandler.endElement(String, String, String) callback method. | 
| FieldValidator | 
 Handles field validation. 
 | 
| IDResolverImpl | 
 Default  
IDResolver for Castor XML during (un)marshaling. | 
| IntrospectedXMLClassDescriptor | 
 A simple extension of XMLClassDescriptor
 so that we can set the "instrospected" flag. 
 | 
| Introspector | 
 A Helper class for the Marshaller and Unmarshaller,
 basically the common code base between the two. 
 | 
| MarshalFramework | 
 A core class for common code shared throughout the
 Marshalling Framework 
 | 
| MarshalFramework.InheritanceMatch | 
 Used to store the information when we find a possible inheritance. 
 | 
| Marshaller | 
 A Marshaller that serializes Java Object's to XML
 Note: This class is not thread safe, and not intended to be,
 so please create a new Marshaller for each thread if it
 is to be used in a multithreaded environment. 
 | 
| Marshaller.MarshalState | |
| Marshaller.NilObject | 
 A wrapper for a "Nil" object 
 | 
| Marshaller.WrapperInfo | 
 Inner-class used for handling wrapper elements
 and locations. 
 | 
| Namespaces | 
 A class for handling Namespace declaration and scoping 
 | 
| Namespaces.NamespaceEnumerator | 
 A simple Enumeration for Namespace objects 
 | 
| NodeType | 
 The possible node types for an XML field. 
 | 
| ProcessingInstruction | 
 An immutable class that represents an XML processing instruction. 
 | 
| ReferenceInfo | 
 Internal class used to save state for reference resolution. 
 | 
| Sax2EventFromStaxEventProducer | |
| Sax2EventFromStaxStreamProducer | |
| StartElementProcessor | 
 A processor that assists  
UnmarshalHandler in dealing with the SAX 2
 ContentHandler.startElement(String, String, String, org.xml.sax.Attributes)
 callback method. | 
| UnmarshalHandler | 
 An unmarshaller to allowing unmarshaling of XML documents to
 Java Objects. 
 | 
| UnmarshalHandler.ArrayHandler | 
 A class for handling Arrays during unmarshalling. 
 | 
| Unmarshaller | 
 An unmarshaller to allowing unmarshalling of XML documents to
 Java Objects. 
 | 
| UnmarshalState | 
 The state information class for the UnmarshalHandler. 
 | 
| ValidationContext | 
 A class which can be used to hold validation information, used
 by the TypeValidator interface. 
 | 
| Validator | 
 A class which can perform Validation on an Object model. 
 | 
| XercesJDK5OutputFormat | 
 Xerces-specific OutputFormat instance, used with JDK 5.0 only. 
 | 
| XercesJDK5Serializer | 
 Xerces-specific implementation of the Serializer interface, used for
 JDK 5 only where Xerces has been integrated with the core code base. 
 | 
| XercesJDK5XMLSerializerFactory | 
 Xerces-specific implementation of the  
XMLSerializerFactory interface. | 
| XercesOutputFormat | 
 Xerces-specific OutputFormat instance. 
 | 
| XercesSerializer | 
 Xerces-specific implementation of the Serializer interface. 
 | 
| XercesXMLSerializerFactory | 
 Xerces-specific implementation of the  
XMLSerializerFactory interface. | 
| XMLContext | 
 Bootstrap class for Castor XML that allows you to load information about the
 domain objects used with Castor XML (marshallers and unmarshallers) by various means. 
 | 
| XMLFieldHandler | 
 This FieldHandler is used in the generated descriptors. 
 | 
| XMLMappingLoader | 
 An XML implementation of mapping helper. 
 | 
| Exception | Description | 
|---|---|
| CastorException | 
 The base exception for Castor (or at least Castor XML) 
 | 
| MarshalException | 
 An exception that is used to signal marshalling exceptions. 
 | 
| ResolverException | 
 The exception class thrown by the ClassDescriptorResolver 
 | 
| ValidationException | 
 An Exception that can be used to signal XML validation errors. 
 | 
| XMLException | 
 An exception that is used to signal an error that has occured during
 marshaling or unmarshaling. 
 | 
Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com