Package org.apache.jasper.compiler
Class Node
- java.lang.Object
-
- org.apache.jasper.compiler.Node
-
- All Implemented Interfaces:
TagConstants
- Direct Known Subclasses:
Node.AttributeDirective,Node.AttributeGenerator,Node.ChildInfoBase,Node.Comment,Node.DoBodyAction,Node.ELExpression,Node.FallBackAction,Node.ForwardAction,Node.GetProperty,Node.IncludeAction,Node.IncludeDirective,Node.InvokeAction,Node.JspElement,Node.JspOutput,Node.JspRoot,Node.JspText,Node.PageDirective,Node.ParamAction,Node.ParamsAction,Node.PlugIn,Node.Root,Node.ScriptingElement,Node.SetProperty,Node.TagDirective,Node.TaglibDirective,Node.TemplateText,Node.UninterpretedTag,Node.UseBean,Node.VariableDirective
public abstract class Node extends java.lang.Object implements TagConstants
An internal data representation of a JSP page or a JSP document (XML). Also included here is a visitor class for traversing nodes.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNode.AttributeDirectiveRepresents an attribute directivestatic classNode.AttributeGeneratorUsed as a placeholder for the evaluation code of a custom action attribute (used by the tag plugin machinery only).static classNode.ChildInfoCollected information about child elements.static classNode.ChildInfoBaseBase class for nodes that collect child element information.static classNode.CommentRepresents a Jsp comment Comments are kept for completeness.static classNode.CustomTagRepresents a custom tagstatic classNode.DeclarationRepresents a declarationstatic classNode.DoBodyActionRepresents a <jsp:doBody> tag file actionstatic classNode.ELExpressionRepresents an EL expression.static classNode.ExpressionRepresents an expression.static classNode.FallBackActionRepresents a fallback actionstatic classNode.ForwardActionRepresents a forward actionstatic classNode.GetPropertyRepresents a getProperty actionstatic classNode.IncludeActionRepresents an include actionstatic classNode.IncludeDirectiveRepresents an include directivestatic classNode.InvokeActionRepresents a <jsp:invoke> tag file actionstatic classNode.JspAttributeRepresents attributes that can be request time expressions.static classNode.JspBodyRepresents a JspBody node (<jsp:body>)static classNode.JspElementRepresents a <jsp:element>.static classNode.JspOutputRepresents a <jsp:output>.static classNode.JspRootRepresents the root of a Jsp document (XML syntax)static classNode.JspTextRepresents the body of a <jsp:text> elementstatic classNode.NamedAttributeRepresents a Named Attribute (<jsp:attribute>)static classNode.NodesAn ordered list of Node, used to represent the body of an element, or a jsp page of jsp document.static classNode.PageDirectiveRepresents a page directivestatic classNode.ParamActionRepresents a param actionstatic classNode.ParamsActionRepresents a params actionstatic classNode.PlugInRepresents a plugin actionstatic classNode.RootRepresents the root of a Jsp page or Jsp documentstatic classNode.ScriptingElementRepresents an expression, declaration, or scriptletstatic classNode.ScriptletRepresents a scriptletstatic classNode.SetPropertyRepresents a setProperty actionstatic classNode.TagDirectiveRepresents a tag directivestatic classNode.TaglibDirectiveRepresents a custom taglib directivestatic classNode.TemplateTextRepresents a template text stringstatic classNode.UninterpretedTagRepresents an uninterpreted tag, from a Jsp documentstatic classNode.UseBeanRepresents a useBean actionstatic classNode.VariableDirectiveRepresents a variable directivestatic classNode.VisitorA visitor class for visiting the node.
-
Field Summary
Fields Modifier and Type Field Description protected org.xml.sax.AttributesattrsThe attributes for this node.protected intbeginJavaLineThe starting line number in the generated Java code.protected Node.NodesbodyThe body of this node.protected intendJavaLineThe ending line number in the generated Java code.protected java.lang.StringinnerClassNameThe name of the inner class to which the codes for this node and its body are generated.protected java.lang.StringlocalNameThe local name of this node.protected Node.NodesnamedAttributeNodesCached named attribute nodes for performance.protected org.xml.sax.AttributesnonTaglibXmlnsAttrsThe xmlns attributes that do not represent tag libraries (only in XML syntax).protected NodeparentThe parent node in the parse tree.protected java.lang.StringqNameThe qualified name of this node.protected MarkstartMarkThe location in the source file where this node begins.protected org.xml.sax.AttributestaglibAttrsThe xmlns attributes that represent tag libraries (only in XML syntax).protected java.lang.StringtextThe text content associated with this node.-
Fields inherited from interface org.apache.jasper.compiler.TagConstants
ATTRIBUTE_ACTION, ATTRIBUTE_DIRECTIVE_ACTION, BODY_ACTION, DECLARATION_ACTION, DIRECTIVE_ACTION, DOBODY_ACTION, ELEMENT_ACTION, EXPRESSION_ACTION, FALLBACK_ACTION, FORWARD_ACTION, GET_PROPERTY_ACTION, INCLUDE_ACTION, INCLUDE_DIRECTIVE_ACTION, INVOKE_ACTION, JSP_ATTRIBUTE_ACTION, JSP_ATTRIBUTE_DIRECTIVE_ACTION, JSP_BODY_ACTION, JSP_DECLARATION_ACTION, JSP_DOBODY_ACTION, JSP_ELEMENT_ACTION, JSP_EXPRESSION_ACTION, JSP_FALLBACK_ACTION, JSP_FORWARD_ACTION, JSP_GET_PROPERTY_ACTION, JSP_INCLUDE_ACTION, JSP_INCLUDE_DIRECTIVE_ACTION, JSP_INVOKE_ACTION, JSP_OUTPUT_ACTION, JSP_PAGE_DIRECTIVE_ACTION, JSP_PARAM_ACTION, JSP_PARAMS_ACTION, JSP_PLUGIN_ACTION, JSP_ROOT_ACTION, JSP_SCRIPTLET_ACTION, JSP_SET_PROPERTY_ACTION, JSP_TAG_DIRECTIVE_ACTION, JSP_TAGLIB_DIRECTIVE_ACTION, JSP_TEXT_ACTION, JSP_TEXT_ACTION_END, JSP_URI, JSP_USE_BEAN_ACTION, JSP_VARIABLE_DIRECTIVE_ACTION, OUTPUT_ACTION, PAGE_DIRECTIVE_ACTION, PARAM_ACTION, PARAMS_ACTION, PLUGIN_ACTION, ROOT_ACTION, SCRIPTLET_ACTION, SET_PROPERTY_ACTION, TAG_DIRECTIVE_ACTION, TAGLIB_DIRECTIVE_ACTION, TEXT_ACTION, URN_JSPTAGDIR, URN_JSPTLD, USE_BEAN_ACTION, VARIABLE_DIRECTIVE_ACTION
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.xml.sax.AttributesgetAttributes()Gets this Node's attributes.java.lang.StringgetAttributeValue(java.lang.String name)Returns the value of the attribute with the given name.intgetBeginJavaLine()Returns the starting line number in the generated Java code.Node.NodesgetBody()Returns the body of this node.intgetEndJavaLine()Returns the ending line number in the generated Java code.java.lang.StringgetInnerClassName()Returns the name of the inner class for this node.java.lang.StringgetLocalName()Returns the local name of this node.Node.NamedAttributegetNamedAttributeNode(java.lang.String name)Searches all sub-nodes of this node for jsp:attribute standard actions with the given name.Node.NodesgetNamedAttributeNodes()Searches all subnodes of this node for jsp:attribute standard actions, and returns that set of nodes as a Node.Nodes object.org.xml.sax.AttributesgetNonTaglibXmlnsAttributes()Gets this Node's xmlns attributes that do not represent tag libraries (only meaningful for Nodes parsed from XML syntax).NodegetParent()Returns the parent node.java.lang.StringgetQName()Returns the qualified name of this node.Node.RootgetRoot()Returns the root node of the parse tree.MarkgetStart()Returns the start mark (location) of this node.org.xml.sax.AttributesgetTaglibAttributes()Gets this Node's xmlns attributes that represent tag libraries (only meaningful for Nodes parsed from XML syntax).java.lang.StringgetText()Returns the text content of this node.java.lang.StringgetTextAttribute(java.lang.String name)Get the attribute that is non request time expression, either from the attribute of the node, or from a jsp:attributevoidsetAttributes(org.xml.sax.Attributes attrs)Sets the attributes for this node.voidsetBeginJavaLine(int begin)Sets the starting line number in the generated Java code.voidsetBody(Node.Nodes body)Sets the body of this node.voidsetEndJavaLine(int end)Sets the ending line number in the generated Java code.voidsetInnerClassName(java.lang.String icn)Sets the name of the inner class for this node.
-
-
-
Field Detail
-
attrs
protected org.xml.sax.Attributes attrs
The attributes for this node.
-
taglibAttrs
protected org.xml.sax.Attributes taglibAttrs
The xmlns attributes that represent tag libraries (only in XML syntax).
-
nonTaglibXmlnsAttrs
protected org.xml.sax.Attributes nonTaglibXmlnsAttrs
The xmlns attributes that do not represent tag libraries (only in XML syntax).
-
body
protected Node.Nodes body
The body of this node.
-
text
protected java.lang.String text
The text content associated with this node.
-
startMark
protected Mark startMark
The location in the source file where this node begins.
-
beginJavaLine
protected int beginJavaLine
The starting line number in the generated Java code.
-
endJavaLine
protected int endJavaLine
The ending line number in the generated Java code.
-
parent
protected Node parent
The parent node in the parse tree.
-
namedAttributeNodes
protected Node.Nodes namedAttributeNodes
Cached named attribute nodes for performance.
-
qName
protected java.lang.String qName
The qualified name of this node.
-
localName
protected java.lang.String localName
The local name of this node.
-
innerClassName
protected java.lang.String innerClassName
The name of the inner class to which the codes for this node and its body are generated. For instance, for <jsp:body> in foo.jsp, this is "foo_jspHelper". This is primarily used for communicating such info from Generator to Smap generator.
-
-
Method Detail
-
getQName
public java.lang.String getQName()
Returns the qualified name of this node.- Returns:
- The qualified name
-
getLocalName
public java.lang.String getLocalName()
Returns the local name of this node.- Returns:
- The local name
-
getAttributes
public org.xml.sax.Attributes getAttributes()
Gets this Node's attributes.In the case of a Node parsed from standard syntax, this method returns all the Node's attributes.
In the case of a Node parsed from XML syntax, this method returns only those attributes whose name does not start with xmlns.
- Returns:
- The attributes
-
getTaglibAttributes
public org.xml.sax.Attributes getTaglibAttributes()
Gets this Node's xmlns attributes that represent tag libraries (only meaningful for Nodes parsed from XML syntax).- Returns:
- The taglib attributes
-
getNonTaglibXmlnsAttributes
public org.xml.sax.Attributes getNonTaglibXmlnsAttributes()
Gets this Node's xmlns attributes that do not represent tag libraries (only meaningful for Nodes parsed from XML syntax).- Returns:
- The non-taglib xmlns attributes
-
setAttributes
public void setAttributes(org.xml.sax.Attributes attrs)
Sets the attributes for this node.- Parameters:
attrs- The attributes to set
-
getAttributeValue
public java.lang.String getAttributeValue(java.lang.String name)
Returns the value of the attribute with the given name.- Parameters:
name- The name of the attribute- Returns:
- The attribute value, or
nullif not found
-
getTextAttribute
public java.lang.String getTextAttribute(java.lang.String name)
Get the attribute that is non request time expression, either from the attribute of the node, or from a jsp:attribute- Parameters:
name- The name of the attribute- Returns:
- The attribute value
-
getNamedAttributeNode
public Node.NamedAttribute getNamedAttributeNode(java.lang.String name)
Searches all sub-nodes of this node for jsp:attribute standard actions with the given name.This should always be called and only be called for nodes that accept dynamic runtime attribute expressions.
- Parameters:
name- The name of the attribute- Returns:
- the NamedAttribute node of the matching named attribute, nor null if no such node is found.
-
getNamedAttributeNodes
public Node.Nodes getNamedAttributeNodes()
Searches all subnodes of this node for jsp:attribute standard actions, and returns that set of nodes as a Node.Nodes object.- Returns:
- Possibly empty Node.Nodes object containing any jsp:attribute subnodes of this Node
-
getBody
public Node.Nodes getBody()
Returns the body of this node.- Returns:
- The body nodes
-
setBody
public void setBody(Node.Nodes body)
Sets the body of this node.- Parameters:
body- The body nodes
-
getText
public java.lang.String getText()
Returns the text content of this node.- Returns:
- The text content
-
getStart
public Mark getStart()
Returns the start mark (location) of this node.- Returns:
- The start mark
-
getParent
public Node getParent()
Returns the parent node.- Returns:
- The parent node
-
getBeginJavaLine
public int getBeginJavaLine()
Returns the starting line number in the generated Java code.- Returns:
- The starting Java line number
-
setBeginJavaLine
public void setBeginJavaLine(int begin)
Sets the starting line number in the generated Java code.- Parameters:
begin- The starting Java line number
-
getEndJavaLine
public int getEndJavaLine()
Returns the ending line number in the generated Java code.- Returns:
- The ending Java line number
-
setEndJavaLine
public void setEndJavaLine(int end)
Sets the ending line number in the generated Java code.- Parameters:
end- The ending Java line number
-
getRoot
public Node.Root getRoot()
Returns the root node of the parse tree.- Returns:
- The root node
-
getInnerClassName
public java.lang.String getInnerClassName()
Returns the name of the inner class for this node.- Returns:
- The inner class name
-
setInnerClassName
public void setInnerClassName(java.lang.String icn)
Sets the name of the inner class for this node.- Parameters:
icn- The inner class name
-
-