Class Generator


  • class Generator
    extends java.lang.Object
    Generate Java source from Nodes
    • Method Detail

      • quote

        static java.lang.String quote​(java.lang.String s)
        Parameters:
        s - the input string
        Returns:
        quoted and escaped string, per Java rule
      • escape

        static java.lang.String escape​(java.lang.String s)
        Parameters:
        s - the input string
        Returns:
        escaped string, per Java rule
      • quote

        static java.lang.String quote​(char c)
        Single quote and escape a character
      • generateDeclarations

        private void generateDeclarations​(Node.Nodes page)
                                   throws JasperException
        Generates declarations. This includes "info" of the page directive, and scriptlet declarations.
        Throws:
        JasperException
      • generateTagHandlerInit

        private void generateTagHandlerInit()
        Generates the _jspInit() method for instantiating the tag handler pools. For tag file, _jspInit has to be invoked manually, and the ServletConfig object explicitly passed.
      • generateTagHandlerDestroy

        private void generateTagHandlerDestroy()
        Generates the _jspDestroy() method which is responsible for calling the release() method on every tag handler in any of the tag handler pools.
      • genPreamblePackage

        private void genPreamblePackage​(java.lang.String packageName)
                                 throws JasperException
        Generate preamble package name (shared by servlet and tag handler preamble generation)
        Throws:
        JasperException
      • genPreambleImports

        private void genPreambleImports()
                                 throws JasperException
        Generate preamble imports (shared by servlet and tag handler preamble generation)
        Throws:
        JasperException
      • genPreambleStaticInitializers

        private void genPreambleStaticInitializers()
                                            throws JasperException
        Generation of static initializers in preamble. For example, dependant list, el function map, prefix map. (shared by servlet and tag handler preamble generation)
        Throws:
        JasperException
      • genPreambleClassVariableDeclarations

        private void genPreambleClassVariableDeclarations​(java.lang.String className)
                                                   throws JasperException
        Declare tag handler pools (tags of the same type and with the same attribute set share the same tag handler pool) (shared by servlet and tag handler preamble generation)
        Throws:
        JasperException
      • genPreambleMethods

        private void genPreambleMethods()
                                 throws JasperException
        Declare general-purpose methods (shared by servlet and tag handler preamble generation)
        Throws:
        JasperException
      • generateXmlProlog

        private void generateXmlProlog​(Node.Nodes page)
        Generates an XML Prolog, which includes an XML declaration and an XML doctype declaration.
      • generateConstructor

        private void generateConstructor​(java.lang.String className)
      • genCommonPostamble

        private void genCommonPostamble()
        Common part of postamble, shared by both servlets and tag files.
      • generatePostamble

        private void generatePostamble​(Node.Nodes page)
        Generates the ending part of the static portion of the servlet.
      • generateTagHandlerPostamble

        private void generateTagHandlerPostamble​(TagInfo tagInfo)
      • generateTagHandlerAttributes

        private void generateTagHandlerAttributes​(TagInfo tagInfo)
                                           throws JasperException
        Generates declarations for tag handler attributes, and defines the getter and setter methods for each.
        Throws:
        JasperException
      • generateSetJspContext

        private void generateSetJspContext​(TagInfo tagInfo)
      • generateSetDynamicAttribute

        public void generateSetDynamicAttribute()
      • generatePageScopedVariables

        private void generatePageScopedVariables​(JasperTagInfo tagInfo)
      • toGetterMethod

        private java.lang.String toGetterMethod​(java.lang.String attrName)
      • toSetterMethodName

        private java.lang.String toSetterMethodName​(java.lang.String attrName)