org.jfree.xml.parser
Class RootXmlReadHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by org.jfree.xml.FrontendDefaultHandler
          extended by 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
RootXmlReadHandler()
          Creates a new root SAX handler.
 
Method Summary
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 - ???.