org.jfree.xml.parser

## Class RootXmlReadHandler

- java.lang.Object
- - org.xml.sax.helpers.DefaultHandler
  - - org.jfree.xml.FrontendDefaultHandler
    - - org.jfree.xml.parser.RootXmlReadHandler

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Configuration, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

    public abstract class RootXmlReadHandler
    extends FrontendDefaultHandler

A base root SAX handler.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class org.jfree.xml.FrontendDefaultHandler

`CONTENTBASE_KEY`

### Constructor Summary

Constructors
Constructor and Description
`RootXmlReadHandler()` Creates a new root SAX handler.

### Method Summary

Methods
`protected void` `addDefaultMappings()` Adds the default mappings.
`protected void` `addManualMapping(java.lang.Class classToRead, java.lang.Class handler)` Adds a mapping between a class and the handler for the class.
`protected void` `addMultiplexMapping(java.lang.Class baseClass, java.lang.String typeAttr, MultiplexMappingEntry[] mdef)` Adds a multiplex mapping.
`void` `characters(char[] ch, int start, int length)` Process character data.
`XmlReadHandler` `createHandler(java.lang.Class classToRead, java.lang.String tagName, org.xml.sax.Attributes atts)` Creates a SAX handler for the specified class.
`void` `delegate(XmlReadHandler handler, java.lang.String tagName, org.xml.sax.Attributes attrs)` Delegate to another handler.
`void` `endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)` Finish processing an element.
`protected XmlReadHandler` `getCurrentHandler()` Returns the current handler.
`abstract ObjectFactory` `getFactoryLoader()` Returns the object factory.
`java.lang.Object` `getHelperObject(java.lang.String key)` Returns an object from the registry.
`java.lang.Object` `getResult()` Returns ???.
`protected XmlReadHandler` `getRootHandler()` Returns the root SAX handler.
`protected java.lang.Class` `loadClass(java.lang.String className)` Loads the given class, and ignores all exceptions which may occur during the loading.
`protected XmlReadHandler` `loadHandlerClass(java.lang.String className)` Loads the given class, and ignores all exceptions which may occur during the loading.
`void` `recurse(XmlReadHandler handler, java.lang.String tagName, org.xml.sax.Attributes attrs)` Start a new handler stack and delegate to another handler.
`void` `setHelperObject(java.lang.String key, java.lang.Object value)` Adds an object to the registry.
`protected void` `setRootHandler(XmlReadHandler handler)` Sets the root SAX handler.
`void` `startDocument()` Starts processing a document.
`void` `startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)` Starts processing an element.
`void` `unwind(java.lang.String tagName)` Hand control back to the previous handler.

### Methods inherited from class org.jfree.xml.FrontendDefaultHandler

`clone, findPropertyKeys, getCommentHandler, getConfigProperties, getConfigProperty, getConfigProperty, getContentBase, getLocator, newInstance, setConfigProperty, setDocumentLocator`

### Methods inherited from class org.xml.sax.helpers.DefaultHandler

`endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RootXmlReadHandler

    public RootXmlReadHandler()

Creates a new root SAX handler.

### Method Detail

#### addDefaultMappings

    protected void addDefaultMappings()

Adds the default mappings.

#### getFactoryLoader

    public abstract ObjectFactory getFactoryLoader()

Returns the object factory.

Returns:
  The object factory.

#### addManualMapping

    protected void addManualMapping(java.lang.Class classToRead,
                        java.lang.Class handler)

Adds a mapping between a class and the handler for the class.

Parameters:
  `classToRead` - the class.
  `handler` - the handler class.

#### addMultiplexMapping

    protected void addMultiplexMapping(java.lang.Class baseClass,
                           java.lang.String typeAttr,
                           MultiplexMappingEntry[] mdef)

Adds a multiplex mapping.

Parameters:
  `baseClass` - the base class.
  `typeAttr` - the type attribute.
  `mdef` - the mapping entry.

#### setHelperObject

    public void setHelperObject(java.lang.String key,
                       java.lang.Object value)

Adds an object to the registry.

Parameters:
  `key` - the key.
  `value` - the object.

#### getHelperObject

    public java.lang.Object getHelperObject(java.lang.String key)

Returns an object from the registry.

Parameters:
  `key` - the key.
Returns:
  The object.

#### createHandler

    public XmlReadHandler createHandler(java.lang.Class classToRead,
                               java.lang.String tagName,
                               org.xml.sax.Attributes atts)
                                 throws XmlReaderException

Creates a SAX handler for the specified class.

Parameters:
  `classToRead` - the class.
  `tagName` - the tag name.
  `atts` - the attributes.
Returns:
  a SAX handler.
Throws:
  `XmlReaderException` - if there is a problem with the reader.

#### setRootHandler

    protected void setRootHandler(XmlReadHandler handler)

Sets the root SAX handler.

Parameters:
  `handler` - the SAX handler.

#### getRootHandler

    protected XmlReadHandler getRootHandler()

Returns the root SAX handler.

Returns:
  the root SAX handler.

#### recurse

    public void recurse(XmlReadHandler handler,
               java.lang.String tagName,
               org.xml.sax.Attributes attrs)
                 throws XmlReaderException,
                        org.xml.sax.SAXException

Start a new handler stack and delegate to another handler.

Parameters:
  `handler` - the handler.
  `tagName` - the tag name.
  `attrs` - the attributes.
Throws:
  `XmlReaderException` - if there is a problem with the reader.
  `org.xml.sax.SAXException` - if there is a problem with the parser.

#### delegate

    public void delegate(XmlReadHandler handler,
                java.lang.String tagName,
                org.xml.sax.Attributes attrs)
                  throws XmlReaderException,
                         org.xml.sax.SAXException

Delegate to another handler.

Parameters:
  `handler` - the new handler.
  `tagName` - the tag name.
  `attrs` - the attributes.
Throws:
  `XmlReaderException` - if there is a problem with the reader.
  `org.xml.sax.SAXException` - if there is a problem with the parser.

#### unwind

    public void unwind(java.lang.String tagName)
                throws org.xml.sax.SAXException,
                       XmlReaderException

Hand control back to the previous handler.

Parameters:
  `tagName` - the tagname.
Throws:
  `org.xml.sax.SAXException` - if there is a problem with the parser.
  `XmlReaderException` - if there is a problem with the reader.

#### getCurrentHandler

    protected XmlReadHandler getCurrentHandler()

Returns the current handler.

Returns:
  The current handler.

#### startDocument

    public void startDocument()
                       throws org.xml.sax.SAXException

Starts processing a document.

Specified by:
  `startDocument` in interface `org.xml.sax.ContentHandler`
Overrides:
  `startDocument` in class `org.xml.sax.helpers.DefaultHandler`
Throws:
  `org.xml.sax.SAXException` - not in this implementation.

#### startElement

    public void startElement(java.lang.String uri,
                    java.lang.String localName,
                    java.lang.String qName,
                    org.xml.sax.Attributes attributes)
                      throws org.xml.sax.SAXException

Starts processing an element.

Specified by:
  `startElement` in interface `org.xml.sax.ContentHandler`
Overrides:
  `startElement` in class `org.xml.sax.helpers.DefaultHandler`
Parameters:
  `uri` - the URI.
  `localName` - the local name.
  `qName` - the qName.
  `attributes` - the attributes.
Throws:
  `org.xml.sax.SAXException` - if there is a parsing problem.

#### characters

    public void characters(char[] ch,
                  int start,
                  int length)
                    throws org.xml.sax.SAXException

Process character data.

Specified by:
  `characters` in interface `org.xml.sax.ContentHandler`
Overrides:
  `characters` in class `org.xml.sax.helpers.DefaultHandler`
Parameters:
  `ch` - the character buffer.
  `start` - the start index.
  `length` - the length of the character data.
Throws:
  `org.xml.sax.SAXException` - if there is a parsing error.

#### endElement

    public void endElement(java.lang.String uri,
                  java.lang.String localName,
                  java.lang.String qName)
                    throws org.xml.sax.SAXException

Finish processing an element.

Specified by:
  `endElement` in interface `org.xml.sax.ContentHandler`
Overrides:
  `endElement` in class `org.xml.sax.helpers.DefaultHandler`
Parameters:
  `uri` - the URI.
  `localName` - the local name.
  `qName` - the qName.
Throws:
  `org.xml.sax.SAXException` - if there is a parsing error.

#### loadHandlerClass

    protected XmlReadHandler loadHandlerClass(java.lang.String className)
                                       throws XmlReaderException

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:
  `XmlReaderException` - if there is a reader error.

#### loadClass

    protected java.lang.Class loadClass(java.lang.String className)
                                 throws XmlReaderException

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:
  `XmlReaderException` - if there is a reader error.

#### getResult

    public java.lang.Object getResult()
                               throws org.xml.sax.SAXException

Returns ???.

Specified by:
  `getResult` in class `FrontendDefaultHandler`
Returns:
  ???.
Throws:
  `org.xml.sax.SAXException` - ???.