Package 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:
Serializable
,Cloneable
,Configuration
,ContentHandler
,DTDHandler
,EntityResolver
,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 Description RootXmlReadHandler()
Creates a new root SAX handler.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
addDefaultMappings()
Adds the default mappings.protected void
addManualMapping(Class classToRead, Class handler)
Adds a mapping between a class and the handler for the class.protected void
addMultiplexMapping(Class baseClass, String typeAttr, MultiplexMappingEntry[] mdef)
Adds a multiplex mapping.void
characters(char[] ch, int start, int length)
Process character data.XmlReadHandler
createHandler(Class classToRead, String tagName, Attributes atts)
Creates a SAX handler for the specified class.void
delegate(XmlReadHandler handler, String tagName, Attributes attrs)
Delegate to another handler.void
endElement(String uri, String localName, String qName)
Finish processing an element.protected XmlReadHandler
getCurrentHandler()
Returns the current handler.abstract ObjectFactory
getFactoryLoader()
Returns the object factory.Object
getHelperObject(String key)
Returns an object from the registry.Object
getResult()
Returns ???.protected XmlReadHandler
getRootHandler()
Returns the root SAX handler.protected Class
loadClass(String className)
Loads the given class, and ignores all exceptions which may occur during the loading.protected XmlReadHandler
loadHandlerClass(String className)
Loads the given class, and ignores all exceptions which may occur during the loading.void
recurse(XmlReadHandler handler, String tagName, Attributes attrs)
Start a new handler stack and delegate to another handler.void
setHelperObject(String key, 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(String uri, String localName, String qName, Attributes attributes)
Starts processing an element.void
unwind(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
-
-
-
-
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(Class classToRead, 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(Class baseClass, 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(String key, Object value)
Adds an object to the registry.- Parameters:
key
- the key.value
- the object.
-
getHelperObject
public Object getHelperObject(String key)
Returns an object from the registry.- Parameters:
key
- the key.- Returns:
- The object.
-
createHandler
public XmlReadHandler createHandler(Class classToRead, String tagName, 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, String tagName, Attributes attrs) throws XmlReaderException, 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.SAXException
- if there is a problem with the parser.
-
delegate
public void delegate(XmlReadHandler handler, String tagName, Attributes attrs) throws XmlReaderException, 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.SAXException
- if there is a problem with the parser.
-
unwind
public void unwind(String tagName) throws SAXException, XmlReaderException
Hand control back to the previous handler.- Parameters:
tagName
- the tagname.- Throws:
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 SAXException
Starts processing a document.- Specified by:
startDocument
in interfaceContentHandler
- Overrides:
startDocument
in classDefaultHandler
- Throws:
SAXException
- not in this implementation.
-
startElement
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
Starts processing an element.- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classDefaultHandler
- Parameters:
uri
- the URI.localName
- the local name.qName
- the qName.attributes
- the attributes.- Throws:
SAXException
- if there is a parsing problem.
-
characters
public void characters(char[] ch, int start, int length) throws SAXException
Process character data.- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classDefaultHandler
- Parameters:
ch
- the character buffer.start
- the start index.length
- the length of the character data.- Throws:
SAXException
- if there is a parsing error.
-
endElement
public void endElement(String uri, String localName, String qName) throws SAXException
Finish processing an element.- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classDefaultHandler
- Parameters:
uri
- the URI.localName
- the local name.qName
- the qName.- Throws:
SAXException
- if there is a parsing error.
-
loadHandlerClass
protected XmlReadHandler loadHandlerClass(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 Class loadClass(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 Object getResult() throws SAXException
Returns ???.- Specified by:
getResult
in classFrontendDefaultHandler
- Returns:
- ???.
- Throws:
SAXException
- ???.
-
-