class Generator.GenerateVisitor extends Node.Visitor
Modifier and Type | Field and Description |
---|---|
private int |
arrayCount |
private static java.lang.String |
DOUBLE_QUOTE |
private Generator.FragmentHelperClass |
fragmentHelperClass |
private java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.String,Generator.TagHandlerInfo>> |
handlerInfos |
private boolean |
isFragment |
private boolean |
isSimpleTagHandler |
private boolean |
isSimpleTagParent |
private boolean |
isTagFile |
private int |
methodNesting |
private java.util.ArrayList<Generator.GenBuffer> |
methodsBuffered |
private ServletWriter |
out |
private java.lang.String |
parent |
private java.lang.String |
pushBodyCountVar |
private java.lang.String |
simpleTagHandlerVar |
private static java.lang.String |
SINGLE_QUOTE |
private java.util.HashMap<java.lang.String,java.lang.Integer> |
tagVarNumbers |
private java.util.HashMap<java.lang.String,java.lang.String> |
textMap |
Constructor and Description |
---|
GenerateVisitor(boolean isTagFile,
ServletWriter out,
java.util.ArrayList<Generator.GenBuffer> methodsBuffered,
Generator.FragmentHelperClass fragmentHelperClass)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
attributeValue(Node.JspAttribute attr,
boolean encode,
java.lang.Class expectedType)
Returns an attribute value, optionally URL encoded.
|
private java.lang.String |
convertString(java.lang.Class<?> c,
java.lang.String s,
java.lang.String attrName,
java.lang.Class<?> propEditorClass,
boolean isNamedAttribute) |
private java.lang.String |
createTagVarName(java.lang.String fullName,
java.lang.String prefix,
java.lang.String shortName) |
private void |
declareScriptingVars(Node.CustomTag n,
int scope) |
private java.lang.String |
evaluateAttribute(Generator.TagHandlerInfo handlerInfo,
Node.JspAttribute attr,
Node.CustomTag n,
java.lang.String tagHandlerVar) |
private Node.JspBody |
findJspBody(Node parent)
Finds the
|
private java.lang.String |
generateAliasMap(Node.CustomTag n,
java.lang.String tagHandlerVar)
Generate code to create a map for the alias variables
|
private void |
generateCustomDoTag(Node.CustomTag n,
Generator.TagHandlerInfo handlerInfo,
java.lang.String tagHandlerVar) |
private void |
generateCustomEnd(Node.CustomTag n,
java.lang.String tagHandlerVar,
java.lang.String tagEvalVar,
java.lang.String tagPushBodyCountVar) |
private void |
generateCustomStart(Node.CustomTag n,
Generator.TagHandlerInfo handlerInfo,
java.lang.String tagHandlerVar,
java.lang.String tagEvalVar,
java.lang.String tagPushBodyCountVar) |
private void |
generateJspFragment(Node n,
java.lang.String tagHandlerVar)
Generates anonymous JspFragment inner class which is passed as an
argument to SimpleTag.setJspBody().
|
java.lang.String |
generateNamedAttributeJspFragment(Node.NamedAttribute n,
java.lang.String tagHandlerVar)
Similar to generateNamedAttributeValue, but create a JspFragment
instead.
|
java.lang.String |
generateNamedAttributeValue(Node.NamedAttribute n)
Generate the code required to obtain the runtime value of the
given named attribute.
|
private void |
generateSetters(Node.CustomTag n,
java.lang.String tagHandlerVar,
Generator.TagHandlerInfo handlerInfo,
boolean simpleTag) |
private void |
generateTagPlugin(Node.CustomTag n) |
private java.lang.String |
getScopeConstant(java.lang.String scope) |
private Generator.TagHandlerInfo |
getTagHandlerInfo(Node.CustomTag n) |
private java.lang.String |
makeAttr(java.lang.String attr,
java.lang.String value) |
private void |
prepareParams(Node parent)
Scans through all child nodes of the given parent for
subelements.
|
private void |
printParams(Node n,
java.lang.String pageParam,
boolean literal)
Prints the attribute value specified in the param action, in the
form of name=value string.
|
private void |
restoreScriptingVars(Node.CustomTag n,
int scope) |
private void |
saveScriptingVars(Node.CustomTag n,
int scope) |
private void |
syncScriptingVars(Node.CustomTag n,
int scope) |
void |
visit(Node.AttributeGenerator n) |
void |
visit(Node.CustomTag n) |
void |
visit(Node.DoBodyAction n) |
void |
visit(Node.ELExpression n) |
void |
visit(Node.Expression n) |
void |
visit(Node.ForwardAction n) |
void |
visit(Node.GetProperty n) |
void |
visit(Node.IncludeAction n) |
void |
visit(Node.InvokeAction n) |
void |
visit(Node.JspBody n) |
void |
visit(Node.JspElement n) |
void |
visit(Node.NamedAttribute n) |
void |
visit(Node.PlugIn n) |
void |
visit(Node.Scriptlet n) |
void |
visit(Node.SetProperty n) |
void |
visit(Node.TemplateText n) |
void |
visit(Node.UninterpretedTag n) |
void |
visit(Node.UseBean n) |
private java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.String,Generator.TagHandlerInfo>> handlerInfos
private java.util.HashMap<java.lang.String,java.lang.Integer> tagVarNumbers
private java.lang.String parent
private boolean isSimpleTagParent
private java.lang.String pushBodyCountVar
private java.lang.String simpleTagHandlerVar
private boolean isSimpleTagHandler
private boolean isFragment
private boolean isTagFile
private ServletWriter out
private java.util.ArrayList<Generator.GenBuffer> methodsBuffered
private Generator.FragmentHelperClass fragmentHelperClass
private int methodNesting
private int arrayCount
private java.util.HashMap<java.lang.String,java.lang.String> textMap
private static final java.lang.String SINGLE_QUOTE
private static final java.lang.String DOUBLE_QUOTE
public GenerateVisitor(boolean isTagFile, ServletWriter out, java.util.ArrayList<Generator.GenBuffer> methodsBuffered, Generator.FragmentHelperClass fragmentHelperClass)
private java.lang.String attributeValue(Node.JspAttribute attr, boolean encode, java.lang.Class expectedType)
attr
- An JspAttribute objectencode
- true if to be URL encodedexpectedType
- the expected type for an EL evaluation
(ignored for attributes that aren't EL expressions)private void printParams(Node n, java.lang.String pageParam, boolean literal) throws JasperException
n
- the parent node for the param action nodes.JasperException
public void visit(Node.Expression n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.Scriptlet n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.ELExpression n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.IncludeAction n) throws JasperException
visit
in class Node.Visitor
JasperException
private void prepareParams(Node parent) throws JasperException
If parent is null, simply returns.
JasperException
private Node.JspBody findJspBody(Node parent) throws JasperException
JasperException
public void visit(Node.ForwardAction n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.GetProperty n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.SetProperty n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.UseBean n) throws JasperException
visit
in class Node.Visitor
JasperException
private java.lang.String makeAttr(java.lang.String attr, java.lang.String value)
public void visit(Node.PlugIn n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.NamedAttribute n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.CustomTag n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.UninterpretedTag n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.JspElement n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.TemplateText n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.JspBody n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.InvokeAction n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.DoBodyAction n) throws JasperException
visit
in class Node.Visitor
JasperException
public void visit(Node.AttributeGenerator n) throws JasperException
visit
in class Node.Visitor
JasperException
private Generator.TagHandlerInfo getTagHandlerInfo(Node.CustomTag n) throws JasperException
JasperException
private void generateTagPlugin(Node.CustomTag n) throws JasperException
JasperException
private void generateCustomStart(Node.CustomTag n, Generator.TagHandlerInfo handlerInfo, java.lang.String tagHandlerVar, java.lang.String tagEvalVar, java.lang.String tagPushBodyCountVar) throws JasperException
JasperException
private void generateCustomEnd(Node.CustomTag n, java.lang.String tagHandlerVar, java.lang.String tagEvalVar, java.lang.String tagPushBodyCountVar)
private void generateCustomDoTag(Node.CustomTag n, Generator.TagHandlerInfo handlerInfo, java.lang.String tagHandlerVar) throws JasperException
JasperException
private void declareScriptingVars(Node.CustomTag n, int scope)
private void saveScriptingVars(Node.CustomTag n, int scope)
private void restoreScriptingVars(Node.CustomTag n, int scope)
private void syncScriptingVars(Node.CustomTag n, int scope)
private java.lang.String createTagVarName(java.lang.String fullName, java.lang.String prefix, java.lang.String shortName)
private java.lang.String evaluateAttribute(Generator.TagHandlerInfo handlerInfo, Node.JspAttribute attr, Node.CustomTag n, java.lang.String tagHandlerVar) throws JasperException
JasperException
private java.lang.String generateAliasMap(Node.CustomTag n, java.lang.String tagHandlerVar) throws JasperException
JasperException
private void generateSetters(Node.CustomTag n, java.lang.String tagHandlerVar, Generator.TagHandlerInfo handlerInfo, boolean simpleTag) throws JasperException
JasperException
private java.lang.String convertString(java.lang.Class<?> c, java.lang.String s, java.lang.String attrName, java.lang.Class<?> propEditorClass, boolean isNamedAttribute) throws JasperException
JasperException
private java.lang.String getScopeConstant(java.lang.String scope)
private void generateJspFragment(Node n, java.lang.String tagHandlerVar) throws JasperException
JasperException
public java.lang.String generateNamedAttributeValue(Node.NamedAttribute n) throws JasperException
JasperException
public java.lang.String generateNamedAttributeJspFragment(Node.NamedAttribute n, java.lang.String tagHandlerVar) throws JasperException
n
- The parent node of the named attributetagHandlerVar
- The variable the tag handler is stored in,
so the fragment knows its parent tag.JasperException