org.jfree.report.modules.parser.ext
Class ElementHandler

java.lang.Object
  extended byorg.jfree.report.modules.parser.ext.AbstractExtReportParserHandler
      extended byorg.jfree.report.modules.parser.ext.ElementHandler
All Implemented Interfaces:
org.jfree.xml.ElementDefinitionHandler
Direct Known Subclasses:
BandHandler

public class ElementHandler
extends AbstractExtReportParserHandler

An element handler. Handles the creation and initialization of an Element. The element is created using an ElementFactory and the element's content type as creation key. All requested element definitions must be defined in one of the ElementFactories, or the report definition will fail.

Author:
Thomas Morgner.

Field Summary
static java.lang.String DATASOURCE_TAG
          The 'datasource' tag.
static java.lang.String STYLE_TAG
          The 'style' tag.
static java.lang.String TEMPLATE_TAG
          The 'template' tag.
 
Constructor Summary
ElementHandler(ReportParser parser, java.lang.String finishTag, Element element, CommentHintPath path)
          Creates a new element handler.
 
Method Summary
 void characters(char[] ch, int start, int length)
          Callback to indicate that some character data has been read.
protected  CommentHintPath createCommentPath(java.lang.Object name)
          Creates a new comment hint path for the given name by appending it to a copy of the current path.
 void endElement(java.lang.String tagName)
          Callback to indicate that an XML element end tag has been read by the parser.
protected  CommentHintPath getCommentPath()
          Returns the comment hint path used in this factory.
 Element getElement()
          Returns the element generated by this handler.
 void startElement(java.lang.String tagName, org.xml.sax.Attributes attrs)
          Callback to indicate that an XML element start tag has been read by the parser.
 
Methods inherited from class org.jfree.report.modules.parser.ext.AbstractExtReportParserHandler
addComment, getFinishTag, getParser, getParserHints, getReport, getReportParser
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STYLE_TAG

public static final java.lang.String STYLE_TAG
The 'style' tag.

See Also:
Constant Field Values

TEMPLATE_TAG

public static final java.lang.String TEMPLATE_TAG
The 'template' tag.

See Also:
Constant Field Values

DATASOURCE_TAG

public static final java.lang.String DATASOURCE_TAG
The 'datasource' tag.

See Also:
Constant Field Values
Constructor Detail

ElementHandler

public ElementHandler(ReportParser parser,
                      java.lang.String finishTag,
                      Element element,
                      CommentHintPath path)
Creates a new element handler.

Parameters:
parser - the parser.
finishTag - the finish tag.
element - the element.
path - the path on where to search for ext-parser comments in the report builder hints.
Method Detail

startElement

public void startElement(java.lang.String tagName,
                         org.xml.sax.Attributes attrs)
                  throws org.xml.sax.SAXException
Callback to indicate that an XML element start tag has been read by the parser.

Parameters:
tagName - the tag name.
attrs - the attributes.
Throws:
org.xml.sax.SAXException - if a parser error occurs or the validation failed.

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws org.xml.sax.SAXException
Callback to indicate that some character data has been read.

Parameters:
ch - the character array.
start - the start index for the characters.
length - the length of the character sequence.
Throws:
org.xml.sax.SAXException - if a parser error occurs or the validation failed.

endElement

public void endElement(java.lang.String tagName)
                throws org.xml.sax.SAXException
Callback to indicate that an XML element end tag has been read by the parser.

Parameters:
tagName - the tag name.
Throws:
org.xml.sax.SAXException - if a parser error occurs or the validation failed.

getElement

public Element getElement()
Returns the element generated by this handler.

Returns:
The element.

getCommentPath

protected CommentHintPath getCommentPath()
Returns the comment hint path used in this factory. This path is used to mark the parse position in the report builder hints.

Returns:
the comment hint path.

createCommentPath

protected CommentHintPath createCommentPath(java.lang.Object name)
Creates a new comment hint path for the given name by appending it to a copy of the current path.

Parameters:
name - the name of the new path segment.
Returns:
the new comment path.