org.jfree.xml.writer

Class RootXmlWriteHandler

public abstract class RootXmlWriteHandler extends Object

A root handler for writing objects to XML format.
Constructor Summary
RootXmlWriteHandler()
Creates a new RootXmlWrite handler with the default mappings enabled.
Method Summary
protected voidaddManualMapping(Class classToWrite, Class handler)
Adds a new manual mapping to this handler.
protected voidaddMultiplexMapping(Class baseClass, String typeAttr, MultiplexMappingEntry[] mdef)
Adds a multiplex mapping.
protected abstract ObjectFactorygetFactoryLoader()
Returns the object factory.
protected XmlWriteHandlergetMapping(Class classToWrite)
Tries to find the mapping for the given class.
protected XmlWriteHandlerloadHandlerClass(String className)
Loads the given class, and ignores all exceptions which may occur during the loading.
voidwrite(String tagName, Object object, Class baseClass, XMLWriter writer)
Writes the given object with the specified tagname.

Constructor Detail

RootXmlWriteHandler

public RootXmlWriteHandler()
Creates a new RootXmlWrite handler with the default mappings enabled.

Method Detail

addManualMapping

protected void addManualMapping(Class classToWrite, Class handler)
Adds a new manual mapping to this handler. This method provides support for the manual mapping. The manual mapping will become active before the multiplexers were queried. This facility could be used to override the model definition.

Parameters: classToWrite the class, which should be handled handler the write handler implementation for that class.

addMultiplexMapping

protected void addMultiplexMapping(Class baseClass, String typeAttr, MultiplexMappingEntry[] mdef)
Adds a multiplex mapping.

Parameters: baseClass the base class. typeAttr the type attribute. mdef the mapping entries.

getFactoryLoader

protected abstract ObjectFactory getFactoryLoader()
Returns the object factory.

Returns: the object factory.

getMapping

protected XmlWriteHandler getMapping(Class classToWrite)
Tries to find the mapping for the given class. This will first check the manual mapping and then try to use the object factory to resolve the class parameter into a write handler.

Parameters: classToWrite the class for which to find a handler.

Returns: the write handler, never null.

Throws: XMLWriterException if no handler could be found for the given class.

loadHandlerClass

protected XmlWriteHandler loadHandlerClass(String className)
Loads the given class, and ignores all exceptions which may occur during the loading. If the class was invalid, null is returned instead.

Parameters: className the name of the class to be loaded.

Returns: the class or null.

Throws: XMLWriterException if there is a writer exception.

write

public void write(String tagName, Object object, Class baseClass, XMLWriter writer)
Writes the given object with the specified tagname. This method will do nothing, if the given object is null.

Parameters: tagName the tagname for the xml-element containing the object definition. The tagname must not be null. object the object which should be written. baseClass the base class. writer the xml writer used to write the content, never null.

Throws: IOException if an IOException occures. XMLWriterException if an object model related error occures during the writing.