public class ElementEnumSaxHandler<ELEMENT extends java.lang.Enum<ELEMENT> & ElementEnumSaxHandler.IElementEnum<ELEMENT>> extends org.xml.sax.helpers.DefaultHandler
DefaultHandler
implementation that matches XML
elements to enumeration values using the enumeration name. The enumeration
has to implement the interface ElementEnumSaxHandler.IElementEnum
and thus defines a state
graph of an XML element sequence for parsing the document.
The parser offers registration of ElementEnumSaxHandler.ElementHandler
s for each of the
enumeration elements that will be called for the start and end of the
element. If capturing the inner text of elements is desired a
ElementEnumSaxHandler.TextElementHandler
has to be registered.
Resolving element names to enum constants is performed using a
ElementEnumSaxHandler.JavaConstantResolver
but can be altered using
setElementResolver(IElementResolver)
.
Modifier and Type | Class and Description |
---|---|
static class |
ElementEnumSaxHandler.ElementHandler<ELEMENT>
Handler for start and element callbacks.
|
static interface |
ElementEnumSaxHandler.IElementEnum<E extends java.lang.Enum<E>>
Interface that defines methods for getting the next elements for parsing the
document.
|
static interface |
ElementEnumSaxHandler.IElementResolver
Resolver from XML element names to enumeration names.
|
static class |
ElementEnumSaxHandler.JavaConstantResolver
Resolver that normalizes XML element names to valid Java identifiers.
|
static class |
ElementEnumSaxHandler.TextElementHandler<ELEMENT>
Handler for text callbacks in addition to the callbacks defined in
ElementEnumSaxHandler.ElementHandler . |
Constructor and Description |
---|
ElementEnumSaxHandler(ELEMENT initialElement)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
characters(char[] ch,
int start,
int length) |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName) |
void |
setElementHandler(ELEMENT element,
ElementEnumSaxHandler.ElementHandler<ELEMENT> handler)
Sets (or overrides) the element handler for a given element.
|
void |
setElementResolver(ElementEnumSaxHandler.IElementResolver resolver) |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes attributes) |
public ElementEnumSaxHandler(ELEMENT initialElement)
public void setElementHandler(ELEMENT element, ElementEnumSaxHandler.ElementHandler<ELEMENT> handler)
public void setElementResolver(ElementEnumSaxHandler.IElementResolver resolver)
resolver
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
startElement
in interface org.xml.sax.ContentHandler
startElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException
public void characters(char[] ch, int start, int length)
characters
in interface org.xml.sax.ContentHandler
characters
in class org.xml.sax.helpers.DefaultHandler
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
endElement
in class org.xml.sax.helpers.DefaultHandler
org.xml.sax.SAXException