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.ForwardAction, Node.GetProperty, Node.IncludeAction, Node.IncludeDirective, Node.InvokeAction, Node.JspElement, Node.JspOutput, Node.JspRoot, Node.JspText, Node.PageDirective, Node.ParamAction, Node.Root, Node.ScriptingElement, Node.SetProperty, Node.TagDirective, Node.TaglibDirective, Node.TemplateText, Node.UninterpretedTag, Node.UseBean, Node.VariableDirective
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 ClassesModifier and TypeClassDescriptionstatic classRepresents an attribute directivestatic classUsed as a placeholder for the evaluation code of a custom action attribute (used by the tag plugin machinery only).static classCollected information about child elements.static classBase class for nodes that collect child element information.static classRepresents a Jsp comment Comments are kept for completeness.static classRepresents a custom tagstatic classRepresents a declarationstatic classRepresents a <jsp:doBody> tag file actionstatic classRepresents an EL expression.static classRepresents an expression.static classRepresents a forward actionstatic classRepresents a getProperty actionstatic classRepresents an include actionstatic classRepresents an include directivestatic classRepresents a <jsp:invoke> tag file actionstatic classRepresents attributes that can be request time expressions.static classRepresents a JspBody node (<jsp:body>)static classRepresents a <jsp:element>.static classRepresents a <jsp:output>.static classRepresents the root of a Jsp document (XML syntax)static classRepresents the body of a <jsp:text> elementstatic classRepresents a Named Attribute (<jsp:attribute>)static classAn ordered list of Node, used to represent the body of an element, or a jsp page of jsp document.static classRepresents a page directivestatic classRepresents a param actionstatic classRepresents the root of a Jsp page or Jsp documentstatic classRepresents an expression, declaration, or scriptletstatic classRepresents a scriptletstatic classRepresents a setProperty actionstatic classRepresents a tag directivestatic classRepresents a custom taglib directivestatic classRepresents a template text stringstatic classRepresents an uninterpreted tag, from a Jsp documentstatic classRepresents a useBean actionstatic classRepresents a variable directivestatic classA visitor class for visiting the node. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AttributesThe attributes for this node.protected intThe starting line number in the generated Java code.protected Node.NodesThe body of this node.protected intThe ending line number in the generated Java code.protected StringThe name of the inner class to which the codes for this node and its body are generated.protected StringThe local name of this node.protected Node.NodesCached named attribute nodes for performance.protected AttributesThe xmlns attributes that do not represent tag libraries (only in XML syntax).protected NodeThe parent node in the parse tree.protected StringThe qualified name of this node.protected MarkThe location in the source file where this node begins.protected AttributesThe xmlns attributes that represent tag libraries (only in XML syntax).protected StringThe text content associated with this node.Fields inherited from interface TagConstants
ATTRIBUTE_ACTION, ATTRIBUTE_DIRECTIVE_ACTION, BODY_ACTION, DECLARATION_ACTION, DIRECTIVE_ACTION, DOBODY_ACTION, ELEMENT_ACTION, EXPRESSION_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_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_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, 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
Modifier and TypeMethodDescriptionGets this Node's attributes.getAttributeValue(String name) Returns the value of the attribute with the given name.intReturns the starting line number in the generated Java code.getBody()Returns the body of this node.intReturns the ending line number in the generated Java code.Returns the name of the inner class for this node.Returns the local name of this node.getNamedAttributeNode(String name) Searches all sub-nodes of this node for jsp:attribute standard actions with the given name.Searches all subnodes of this node for jsp:attribute standard actions, and returns that set of nodes as a Node.Nodes object.Gets this Node's xmlns attributes that do not represent tag libraries (only meaningful for Nodes parsed from XML syntax).Returns the parent node.getQName()Returns the qualified name of this node.getRoot()Returns the root node of the parse tree.getStart()Returns the start mark (location) of this node.Gets this Node's xmlns attributes that represent tag libraries (only meaningful for Nodes parsed from XML syntax).getText()Returns the text content of this node.getTextAttribute(String name) Get the attribute that is non request time expression, either from the attribute of the node, or from a jsp:attributevoidsetAttributes(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(String icn) Sets the name of the inner class for this node.
-
Field Details
-
attrs
The attributes for this node. -
taglibAttrs
The xmlns attributes that represent tag libraries (only in XML syntax). -
nonTaglibXmlnsAttrs
The xmlns attributes that do not represent tag libraries (only in XML syntax). -
body
The body of this node. -
text
The text content associated with this node. -
startMark
The location in the source file where this node begins. -
beginJavaLine
protected int beginJavaLineThe starting line number in the generated Java code. -
endJavaLine
protected int endJavaLineThe ending line number in the generated Java code. -
parent
The parent node in the parse tree. -
namedAttributeNodes
Cached named attribute nodes for performance. -
qName
The qualified name of this node. -
localName
The local name of this node. -
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 Details
-
getQName
-
getLocalName
-
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
Gets this Node's xmlns attributes that represent tag libraries (only meaningful for Nodes parsed from XML syntax).- Returns:
- The taglib 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
Sets the attributes for this node.- Parameters:
attrs- The attributes to set
-
getAttributeValue
-
getTextAttribute
-
getNamedAttributeNode
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
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
-
setBody
-
getText
-
getStart
-
getParent
-
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
-
getInnerClassName
Returns the name of the inner class for this node.- Returns:
- The inner class name
-
setInnerClassName
Sets the name of the inner class for this node.- Parameters:
icn- The inner class name
-