org.jfree.xml

Class ParserFrontend

public class ParserFrontend extends Object

The reportgenerator initializes the parser and provides an interface the the default parser. To create a report from an URL, use ReportGenerator.getInstance().parseReport (URL myURl, URL contentBase);

Author: Thomas Morgner

Constructor Summary
protected ParserFrontend(FrontendDefaultHandler parser)
Creates a new report generator.
Method Summary
protected voidconfigureReader(XMLReader reader, FrontendDefaultHandler handler)
Configures the xml reader.
protected FrontendDefaultHandlercreateDefaultHandler(URL contentBase)
Creates a new instance of the currently set default handler and sets the contentbase for the handler to contentBase.
FrontendDefaultHandlergetDefaultHandler()
Returns the ElementDefinitionHandler used for parsing reports.
EntityResolvergetEntityResolver()
Returns the entity resolver.
protected SAXParsergetParser()
Returns a SAX parser.
booleanisValidateDTD()
Returns true if the report definition should be validated against the DTD, and false otherwise.
protected Objectparse(InputSource input, URL contentBase)
Parses an XML report template file.
Objectparse(URL file, URL contentBase)
Parses an XML file which is loaded using the given URL.
voidsetDefaultHandler(FrontendDefaultHandler handler)
Sets the default handler used for parsing reports.
voidsetEntityResolver(EntityResolver entityResolver)
Sets the entity resolver.
voidsetValidateDTD(boolean validateDTD)
Sets a flag that controls whether or not the report definition is validated against the DTD.

Constructor Detail

ParserFrontend

protected ParserFrontend(FrontendDefaultHandler parser)
Creates a new report generator. The generator uses the singleton pattern by default, so use generator.getInstance() to get the generator.

Parameters: parser the parser that is used to coordinate the parsing process.

Method Detail

configureReader

protected void configureReader(XMLReader reader, FrontendDefaultHandler handler)
Configures the xml reader. Use this to set features or properties before the documents get parsed.

Parameters: handler the parser implementation that will handle the SAX-Callbacks. reader the xml reader that should be configured.

createDefaultHandler

protected FrontendDefaultHandler createDefaultHandler(URL contentBase)
Creates a new instance of the currently set default handler and sets the contentbase for the handler to contentBase.

Parameters: contentBase the content base.

Returns: the report handler.

getDefaultHandler

public FrontendDefaultHandler getDefaultHandler()
Returns the ElementDefinitionHandler used for parsing reports.

Returns: the report handler.

getEntityResolver

public EntityResolver getEntityResolver()
Returns the entity resolver.

Returns: The entity resolver.

getParser

protected SAXParser getParser()
Returns a SAX parser.

Returns: a SAXParser.

Throws: ParserConfigurationException if there is a problem configuring the parser. SAXException if there is a problem with the parser initialisation

isValidateDTD

public boolean isValidateDTD()
Returns true if the report definition should be validated against the DTD, and false otherwise.

Returns: A boolean.

parse

protected Object parse(InputSource input, URL contentBase)
Parses an XML report template file.

Parameters: input the input source. contentBase the content base.

Returns: the report.

Throws: ElementDefinitionException if an error occurred.

parse

public Object parse(URL file, URL contentBase)
Parses an XML file which is loaded using the given URL. All needed relative file- and resourcespecification are loaded using the URL contentBase as base.

After the report is generated, the ReportDefinition-source and the contentbase are stored as string in the reportproperties.

Parameters: file the URL for the report template file. contentBase the URL for the report template content base.

Returns: the parsed report.

Throws: IOException if an I/O error occurs. ElementDefinitionException if there is a problem parsing the report template.

setDefaultHandler

public void setDefaultHandler(FrontendDefaultHandler handler)
Sets the default handler used for parsing reports. This handler is used to initiate parsing.

Parameters: handler the handler.

setEntityResolver

public void setEntityResolver(EntityResolver entityResolver)
Sets the entity resolver.

Parameters: entityResolver the entity resolver.

setValidateDTD

public void setValidateDTD(boolean validateDTD)
Sets a flag that controls whether or not the report definition is validated against the DTD.

Parameters: validateDTD the flag.