Package org.jfree.xml

Class ParserFrontend

java.lang.Object
org.jfree.xml.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);
  • Field Details

    • defaulthandler

      private FrontendDefaultHandler defaulthandler
      The report handler.
    • factory

      private SAXParserFactory factory
      The parser factory.
    • entityResolver

      private EntityResolver entityResolver
      The DTD.
    • validateDTD

      private boolean validateDTD
      A flag indicating whether to use a DTD to validate the xml input.
  • Constructor Details

    • 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 Details

    • 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 EntityResolver getEntityResolver()
      Returns the entity resolver.
      Returns:
      The entity resolver.
    • setEntityResolver

      public void setEntityResolver(EntityResolver entityResolver)
      Sets the entity resolver.
      Parameters:
      entityResolver - the entity resolver.
    • getParser

      protected SAXParser getParser() throws ParserConfigurationException, SAXException
      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
    • 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(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 Object parse(InputSource input, 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(XMLReader reader, FrontendDefaultHandler handler)
      Configures the xml reader. Use this to set features or properties before the documents get parsed.
      Parameters:
      reader - the xml reader that should be configured.
      handler - the parser implementation that will handle the SAX-Callbacks.
    • parse

      public Object parse(URL file, URL contentBase) throws ElementDefinitionException, 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:
      IOException - if an I/O error occurs.
      ElementDefinitionException - if there is a problem parsing the report template.