Class Generator

java.lang.Object
org.apache.jasper.compiler.Generator

class Generator extends Object
Generate Java source from Nodes
  • Field Details

  • Constructor Details

  • Method Details

    • quote

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

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

      static 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
    • compileTagHandlerPoolList

      private void compileTagHandlerPoolList(Node.Nodes page) throws JasperException
      Compiles list of tag handler pool names.
      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(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(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
    • generatePreamble

      private void generatePreamble(Node.Nodes page) throws JasperException
      Generates the beginning of the static portion of the servlet.
      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(String className)
    • generateLocalVariables

      private static void generateLocalVariables(ServletWriter out, Node n, boolean genBytes) throws JasperException
      Throws:
      JasperException
    • 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.
    • generate

      public static void generate(ServletWriter out, Compiler compiler, Node.Nodes page) throws JasperException
      The main entry for Generator.
      Parameters:
      out - The servlet output writer
      compiler - The compiler
      page - The input page
      Throws:
      JasperException
    • generateTagHandlerPreamble

      private void generateTagHandlerPreamble(JasperTagInfo tagInfo, Node.Nodes tag) throws JasperException
      Throws:
      JasperException
    • generateTagHandlerPostamble

      private void generateTagHandlerPostamble(javax.servlet.jsp.tagext.TagInfo tagInfo)
    • generateTagHandlerAttributes

      private void generateTagHandlerAttributes(javax.servlet.jsp.tagext.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(javax.servlet.jsp.tagext.TagInfo tagInfo)
    • generateSetDynamicAttribute

      public void generateSetDynamicAttribute()
    • generatePageScopedVariables

      private void generatePageScopedVariables(JasperTagInfo tagInfo)
    • toGetterMethod

      private String toGetterMethod(String attrName)
    • toSetterMethodName

      private String toSetterMethodName(String attrName)