## org.jfree.xml
Class ParserFrontend

    java.lang.Object
      org.jfree.xml.ParserFrontend

public class ParserFrontend
extends java.lang.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 void` `configureReader(org.xml.sax.XMLReader reader, FrontendDefaultHandler handler)` Configures the xml reader.
`protected FrontendDefaultHandler` `createDefaultHandler(java.net.URL contentBase)` Creates a new instance of the currently set default handler and sets the contentbase for the handler to `contentBase`.
`FrontendDefaultHandler` `getDefaultHandler()` Returns the ElementDefinitionHandler used for parsing reports.
`org.xml.sax.EntityResolver` `getEntityResolver()` Returns the entity resolver.
`protected javax.xml.parsers.SAXParser` `getParser()` Returns a SAX parser.
`boolean` `isValidateDTD()` Returns `true` if the report definition should be validated against the DTD, and `false` otherwise.
`protected java.lang.Object` `parse(org.xml.sax.InputSource input, java.net.URL contentBase)` Parses an XML report template file.
`java.lang.Object` `parse(java.net.URL file, java.net.URL contentBase)` Parses an XML file which is loaded using the given URL.
`void` `setDefaultHandler(FrontendDefaultHandler handler)` Sets the default handler used for parsing reports.
`void` `setEntityResolver(org.xml.sax.EntityResolver entityResolver)` Sets the entity resolver.
`void` `setValidateDTD(boolean validateDTD)` Sets a flag that controls whether or not the report definition is validated against the DTD.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

### isValidateDTD

    public boolean isValidateDTD()

  Returns `true` if the report definition should be validated against the DTD, and `false` otherwise.

  Returns:
    A boolean.

### 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.

### getEntityResolver

    public org.xml.sax.EntityResolver getEntityResolver()

  Returns the entity resolver.

  Returns:
    The entity resolver.

### setEntityResolver

    public void setEntityResolver(org.xml.sax.EntityResolver entityResolver)

  Sets the entity resolver.

  Parameters:
    `entityResolver` - the entity resolver.

### getParser

    protected javax.xml.parsers.SAXParser getParser()
                                             throws javax.xml.parsers.ParserConfigurationException,
                                                    org.xml.sax.SAXException

  Returns a SAX parser.

  Returns:
    a SAXParser.
  Throws:
    `javax.xml.parsers.ParserConfigurationException` - if there is a problem configuring the parser.
    `org.xml.sax.SAXException` - if there is a problem with the parser initialisation

### 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.

### getDefaultHandler

    public FrontendDefaultHandler getDefaultHandler()

  Returns the ElementDefinitionHandler used for parsing reports.

  Returns:
    the report handler.

### createDefaultHandler

    protected FrontendDefaultHandler createDefaultHandler(java.net.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.

### parse

    protected java.lang.Object parse(org.xml.sax.InputSource input,
                                     java.net.URL contentBase)
                              throws ElementDefinitionException

  Parses an XML report template file.

  Parameters:
    `input` - the input source.
    `contentBase` - the content base.
  Returns:
    the report.
  Throws:
    `ElementDefinitionException` - if an error occurred.

### configureReader

    protected void configureReader(org.xml.sax.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.

### parse

    public java.lang.Object parse(java.net.URL file,
                                  java.net.URL contentBase)
                           throws ElementDefinitionException,
                                  java.io.IOException

  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:
    `java.io.IOException` - if an I/O error occurs.
    `ElementDefinitionException` - if there is a problem parsing the report template.