Package org.exolab.castor.xml

The XML Marshaller API

See:
          Description

Interface Summary
AttributeSet A simple interface for handling Attributes in the Marshalling Framework.
ClassDescriptorEnumeration An enumeration interface specifically for XMLClassDescriptors.
ClassDescriptorResolver An interface for finding or "resolving" XMLClassDescriptor classes.
ClassValidator The validation interface used for validating class instances
EventProducer A interface which abstracts anything which can produce SAX events.
IDResolver A simple interface for doing custom IDREF resolving during Unmarshalling.
Location A simple Location class used for fine grained detail of exceptions
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.
TypeValidator The basic type validation interface class
UnmarshalListener An interface to allow external "listening" to objects when they are being unmarshalled for various tracking purposes and potential modification.
XMLClassDescriptor A class descriptor for describing relationships between a Class and an XML element or complexType.
XMLFieldDescriptor XML field descriptor.
 

Class Summary
AccessRights A class used to indicate access rights
DebugHandler A Simple DocumentHandler that intercepts SAX events and prints them to the console
DescriptorType This class represents the Possible Descriptor types used by the marshalling Framework.
FieldValidator Handles field validation
FileLocation A simple FileLocation class used for finer grained detail of exceptions
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.
JavaNaming This class converts XML Names to proper Java names.
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 A class that represents an XML processing instruction.
SimpleTypeValidator A class for defining simple rules used for validating a content model
UnmarshalHandler An unmarshaller to allowing unmarshalling 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.
XMLFieldHandler This FieldHandler is used in the generated descriptors.
XMLMappingLoader An XML implementation of mapping helper.
XMLNaming An abstract class to handing XML naming
XPathLocation A very simple XPath location class for use with the ValidationException.
 

Exception Summary
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 marshalling or unmarshalling.
 

Package org.exolab.castor.xml Description

The XML Marshaller API

Version:
$Revision: 1.1.1.1 $ $Date: 2003/03/03 07:09:12 $
Author:
Keith Visco

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 );
       



Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com