org.jfree.xml.parser
Class RootXmlReadHandler

java.lang.Object
  extended byorg.xml.sax.helpers.DefaultHandler
      extended byorg.jfree.xml.parser.RootXmlReadHandler
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

public abstract class RootXmlReadHandler
extends org.xml.sax.helpers.DefaultHandler

A base root SAX handler.


Constructor Summary
RootXmlReadHandler()
          Creates a new root SAX handler.
 
Method Summary
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.
 org.xml.sax.Locator getLocator()
          Returns the current locator.
 java.lang.Object getObject(java.lang.String key)
          Returns an object from the registry.
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 putObject(java.lang.String key, java.lang.Object value)
          Adds an object to the registry.
 void recurse(XmlReadHandler handler, java.lang.String tagName, org.xml.sax.Attributes attrs)
          ??
 void setDocumentLocator(org.xml.sax.Locator locator)
          Receive an object for locating the origin of SAX document events.
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.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RootXmlReadHandler

public RootXmlReadHandler()
Creates a new root SAX handler.

Method Detail

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.

putObject

public void putObject(java.lang.String key,
                      java.lang.Object value)
Adds an object to the registry.

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

getObject

public java.lang.Object getObject(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
??

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.

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.

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.

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.

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.

setDocumentLocator

public void setDocumentLocator(org.xml.sax.Locator locator)
Receive an object for locating the origin of SAX document events. The locator allows the application to determine the end position of any document-related event, even if the parser is not reporting an error. Typically, the application will use this information for reporting its own errors (such as character content that does not match an application's business rules). The information returned by the locator is probably not sufficient for use with a search engine.

Parameters:
locator - the locator.

getLocator

public org.xml.sax.Locator getLocator()
Returns the current locator.

Returns:
the locator.