class Generator
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
Generator.FragmentHelperClass
Keeps track of the generated Fragment Helper Class
|
private static class |
Generator.GenBuffer
A class for generating codes to a buffer.
|
(package private) class |
Generator.GenerateVisitor
A visitor that generates codes for the elements in the page.
|
private static class |
Generator.TagHandlerInfo
Class storing the result of introspecting a custom tag handler.
|
Modifier and Type | Field and Description |
---|---|
private Generator.GenBuffer |
arrayBuffer |
private BeanRepository |
beanInfo |
private boolean |
breakAtLF |
private JspCompilationContext |
ctxt |
private ErrorDispatcher |
err |
private Generator.FragmentHelperClass |
fragmentHelperClass |
private boolean |
genBytes |
private boolean |
isPoolingEnabled |
private java.util.ArrayList<Generator.GenBuffer> |
methodsBuffered |
private static java.lang.Class[] |
OBJECT_CLASS |
private ServletWriter |
out |
private PageInfo |
pageInfo |
private java.util.Set<java.lang.String> |
tagHandlerPoolNames |
Constructor and Description |
---|
Generator(ServletWriter out,
Compiler compiler)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private void |
compileTagHandlerPoolList(Node.Nodes page)
Compiles list of tag handler pool names.
|
(package private) static java.lang.String |
escape(java.lang.String s) |
private void |
genCommonPostamble()
Common part of postamble, shared by both servlets and tag files.
|
static void |
generate(ServletWriter out,
Compiler compiler,
Node.Nodes page)
The main entry for Generator.
|
private void |
generateConstructor(java.lang.String className) |
private void |
generateDeclarations(Node.Nodes page)
Generates declarations.
|
private static void |
generateLocalVariables(ServletWriter out,
Node n,
boolean genBytes) |
private void |
generatePageScopedVariables(JasperTagInfo tagInfo) |
private void |
generatePostamble(Node.Nodes page)
Generates the ending part of the static portion of the servlet.
|
private void |
generatePreamble(Node.Nodes page)
Generates the beginning of the static portion of the servlet.
|
void |
generateSetDynamicAttribute() |
private void |
generateSetJspContext(javax.servlet.jsp.tagext.TagInfo tagInfo) |
private void |
generateTagHandlerAttributes(javax.servlet.jsp.tagext.TagInfo tagInfo)
Generates declarations for tag handler attributes, and defines the
getter and setter methods for each.
|
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.
|
private void |
generateTagHandlerInit()
Generates the _jspInit() method for instantiating the tag handler pools.
|
private void |
generateTagHandlerPostamble(javax.servlet.jsp.tagext.TagInfo tagInfo) |
private void |
generateTagHandlerPreamble(JasperTagInfo tagInfo,
Node.Nodes tag) |
private void |
generateXmlProlog(Node.Nodes page)
Generates an XML Prolog, which includes an XML declaration and
an XML doctype declaration.
|
private void |
genPreambleClassVariableDeclarations(java.lang.String className)
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)
|
private void |
genPreambleImports()
Generate preamble imports
(shared by servlet and tag handler preamble generation)
|
private void |
genPreambleMethods()
Declare general-purpose methods
(shared by servlet and tag handler preamble generation)
|
private void |
genPreamblePackage(java.lang.String packageName)
Generate preamble package name
(shared by servlet and tag handler preamble generation)
|
private void |
genPreambleStaticInitializers()
Generation of static initializers in preamble.
|
(package private) static java.lang.String |
quote(char c)
Single quote and escape a character
|
(package private) static java.lang.String |
quote(java.lang.String s) |
private java.lang.String |
toGetterMethod(java.lang.String attrName) |
private java.lang.String |
toSetterMethodName(java.lang.String attrName) |
private static final java.lang.Class[] OBJECT_CLASS
private ServletWriter out
private java.util.ArrayList<Generator.GenBuffer> methodsBuffered
private Generator.FragmentHelperClass fragmentHelperClass
private ErrorDispatcher err
private BeanRepository beanInfo
private JspCompilationContext ctxt
private boolean isPoolingEnabled
private boolean breakAtLF
private boolean genBytes
private PageInfo pageInfo
private java.util.Set<java.lang.String> tagHandlerPoolNames
private Generator.GenBuffer arrayBuffer
Generator(ServletWriter out, Compiler compiler)
static java.lang.String quote(java.lang.String s)
s
- the input stringstatic java.lang.String escape(java.lang.String s)
s
- the input stringstatic java.lang.String quote(char c)
private void generateDeclarations(Node.Nodes page) throws JasperException
JasperException
private void compileTagHandlerPoolList(Node.Nodes page) throws JasperException
JasperException
private void generateTagHandlerInit()
private void generateTagHandlerDestroy()
private void genPreamblePackage(java.lang.String packageName) throws JasperException
JasperException
private void genPreambleImports() throws JasperException
JasperException
private void genPreambleStaticInitializers() throws JasperException
JasperException
private void genPreambleClassVariableDeclarations(java.lang.String className) throws JasperException
JasperException
private void genPreambleMethods() throws JasperException
JasperException
private void generatePreamble(Node.Nodes page) throws JasperException
JasperException
private void generateXmlProlog(Node.Nodes page)
private void generateConstructor(java.lang.String className)
private static void generateLocalVariables(ServletWriter out, Node n, boolean genBytes) throws JasperException
JasperException
private void genCommonPostamble()
private void generatePostamble(Node.Nodes page)
public static void generate(ServletWriter out, Compiler compiler, Node.Nodes page) throws JasperException
out
- The servlet output writercompiler
- The compilerpage
- The input pageJasperException
private void generateTagHandlerPreamble(JasperTagInfo tagInfo, Node.Nodes tag) throws JasperException
JasperException
private void generateTagHandlerPostamble(javax.servlet.jsp.tagext.TagInfo tagInfo)
private void generateTagHandlerAttributes(javax.servlet.jsp.tagext.TagInfo tagInfo) throws JasperException
JasperException
private void generateSetJspContext(javax.servlet.jsp.tagext.TagInfo tagInfo)
public void generateSetDynamicAttribute()
private void generatePageScopedVariables(JasperTagInfo tagInfo)
private java.lang.String toGetterMethod(java.lang.String attrName)
private java.lang.String toSetterMethodName(java.lang.String attrName)