Package org.jfree.xml

Class 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);
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private FrontendDefaultHandler defaulthandler
      The report handler.
      private org.xml.sax.EntityResolver entityResolver
      The DTD.
      private javax.xml.parsers.SAXParserFactory factory
      The parser factory.
      private boolean validateDTD
      A flag indicating whether to use a DTD to validate the xml input.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      java.lang.Object parse​(java.net.URL file, java.net.URL contentBase)
      Parses an XML file which is loaded using the given URL.
      protected java.lang.Object parse​(org.xml.sax.InputSource input, java.net.URL contentBase)
      Parses an XML report template file.
      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
    • Field Detail

      • factory

        private javax.xml.parsers.SAXParserFactory factory
        The parser factory.
      • entityResolver

        private org.xml.sax.EntityResolver entityResolver
        The DTD.
      • validateDTD

        private boolean validateDTD
        A flag indicating whether to use a DTD to validate the xml input.
    • 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.