Package org.exolab.castor.xml

The XML Marshaller API

See:
          Description

Interface Summary
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
TypeValidator The basic type validation interface class
XMLClassDescriptor A class descriptor for describing relationships between a Class and an XML element.
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 to allowing serializing Java Object's to XML
Namespaces A class for handling Namespace declaration and scoping
NodeType The possible node types for an XML field.
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.
Unmarshaller An unmarshaller to allowing unmarshalling of XML documents to Java Objects.
UnmarshalState  
Validator A class which can perform Validation on an Object model.
XMLFieldHandler A field handler knows how to perform various operations on the field that require access to the field value.
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 can be used to signal marshalling exceptions
ValidationException An exception that can be used to signal XML validation errors
 

Package org.exolab.castor.xml Description

The XML Marshaller API

Version:
$Revision: 1.1 $ $Date: 2000/04/04 20:31:40 $
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-2001. All rights reserved http://www.intalio.com