org.apache.velocity.runtime.parser.node
Class SimpleNode

java.lang.Object
  extended by org.apache.velocity.runtime.parser.node.SimpleNode
All Implemented Interfaces:
Node
Direct Known Subclasses:
ASTAddNode, ASTAndNode, ASTAssignment, ASTBlock, ASTComment, ASTDirective, ASTDivNode, ASTElseIfStatement, ASTElseStatement, ASTEQNode, ASTEscape, ASTEscapedDirective, ASTExpression, ASTFalse, ASTFloatingPointLiteral, ASTGENode, ASTGTNode, ASTIdentifier, ASTIfStatement, ASTIncludeStatement, ASTIntegerLiteral, ASTIntegerRange, ASTLENode, ASTLTNode, ASTMap, ASTMethod, ASTModNode, ASTMulNode, ASTNENode, ASTNotNode, ASTObjectArray, ASTOrNode, ASTParameters, ASTprocess, ASTReference, ASTSetDirective, ASTStop, ASTStringLiteral, ASTSubtractNode, ASTText, ASTTrue, ASTVariable, ASTWord

public class SimpleNode
extends Object
implements Node


Field Summary
protected  Node[] children
           
protected  Token first
           
protected  int id
           
protected  int info
           
protected  boolean invalid
           
protected  Token last
           
protected  Node parent
           
protected  Parser parser
           
protected  RuntimeServices rsvc
           
 boolean state
           
 
Constructor Summary
SimpleNode(int i)
           
SimpleNode(Parser p, int i)
           
 
Method Summary
 Object childrenAccept(ParserVisitor visitor, Object data)
          Accept the visitor.
 void dump(String prefix)
           
 boolean evaluate(InternalContextAdapter context)
           
 Object execute(Object o, InternalContextAdapter context)
           
 int getColumn()
           
 Token getFirstToken()
           
 int getInfo()
           
 Token getLastToken()
           
 int getLine()
           
 String getLocation(InternalContextAdapter ctx)
          Get the location of the node.
 String getLocation(String templateName)
          Get the location of the node.
 int getType()
           
 Object init(InternalContextAdapter context, Object data)
           
 boolean isInvalid()
           
 Object jjtAccept(ParserVisitor visitor, Object data)
          Accept the visitor.
 void jjtAddChild(Node n, int i)
          This method tells the node to add its argument to the node's list of children.
 void jjtClose()
          This method is called after all the child nodes have been added.
 Node jjtGetChild(int i)
          This method returns a child node.
 int jjtGetNumChildren()
          Return the number of children the node has.
 Node jjtGetParent()
           
 void jjtOpen()
          This method is called after the node has been made the current node.
 void jjtSetParent(Node n)
          This pair of methods are used to inform the node of its parent.
 String literal()
           
 boolean render(InternalContextAdapter context, Writer writer)
           
 void setFirstToken(Token t)
           
 void setInfo(int info)
           
 void setInvalid()
           
 String toString(String prefix)
           
 Object value(InternalContextAdapter context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rsvc

protected RuntimeServices rsvc

parent

protected Node parent

children

protected Node[] children

id

protected int id

parser

protected Parser parser

info

protected int info

state

public boolean state

invalid

protected boolean invalid

first

protected Token first

last

protected Token last
Constructor Detail

SimpleNode

public SimpleNode(int i)

SimpleNode

public SimpleNode(Parser p,
                  int i)
Method Detail

getLocation

public String getLocation(InternalContextAdapter ctx)
Description copied from interface: Node
Get the location of the node. The given ctx is used to find out, which template contains this node.

Specified by:
getLocation in interface Node
Parameters:
ctx - the node context (the node itself does not know the name of the template, which contains it).
Returns:
a String in the format $templateName#$macroName [line $line, column $col]:

getLocation

public String getLocation(String templateName)
Description copied from interface: Node
Get the location of the node. Use the given templateName to indicate, which template contains this node.

Specified by:
getLocation in interface Node
Parameters:
templateName - template name to use (the node itself does not know the name of the template, which contains it).
Returns:
a String in the format $templateName#$macroName [line $line, column $col]:

jjtOpen

public void jjtOpen()
Description copied from interface: Node
This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.

Specified by:
jjtOpen in interface Node

jjtClose

public void jjtClose()
Description copied from interface: Node
This method is called after all the child nodes have been added.

Specified by:
jjtClose in interface Node

setFirstToken

public void setFirstToken(Token t)

getFirstToken

public Token getFirstToken()
Specified by:
getFirstToken in interface Node

getLastToken

public Token getLastToken()
Specified by:
getLastToken in interface Node

jjtSetParent

public void jjtSetParent(Node n)
Description copied from interface: Node
This pair of methods are used to inform the node of its parent.

Specified by:
jjtSetParent in interface Node

jjtGetParent

public Node jjtGetParent()
Specified by:
jjtGetParent in interface Node

jjtAddChild

public void jjtAddChild(Node n,
                        int i)
Description copied from interface: Node
This method tells the node to add its argument to the node's list of children.

Specified by:
jjtAddChild in interface Node

jjtGetChild

public Node jjtGetChild(int i)
Description copied from interface: Node
This method returns a child node. The children are numbered from zero, left to right.

Specified by:
jjtGetChild in interface Node

jjtGetNumChildren

public int jjtGetNumChildren()
Description copied from interface: Node
Return the number of children the node has.

Specified by:
jjtGetNumChildren in interface Node

jjtAccept

public Object jjtAccept(ParserVisitor visitor,
                        Object data)
Accept the visitor.

Specified by:
jjtAccept in interface Node

childrenAccept

public Object childrenAccept(ParserVisitor visitor,
                             Object data)
Accept the visitor.

Specified by:
childrenAccept in interface Node

toString

public String toString(String prefix)

dump

public void dump(String prefix)

literal

public String literal()
Specified by:
literal in interface Node

init

public Object init(InternalContextAdapter context,
                   Object data)
            throws Exception
Specified by:
init in interface Node
Throws:
Exception

evaluate

public boolean evaluate(InternalContextAdapter context)
                 throws MethodInvocationException
Specified by:
evaluate in interface Node
Throws:
MethodInvocationException

value

public Object value(InternalContextAdapter context)
             throws MethodInvocationException
Specified by:
value in interface Node
Throws:
MethodInvocationException

render

public boolean render(InternalContextAdapter context,
                      Writer writer)
               throws IOException,
                      MethodInvocationException,
                      ParseErrorException,
                      ResourceNotFoundException
Specified by:
render in interface Node
Throws:
IOException
MethodInvocationException
ParseErrorException
ResourceNotFoundException

execute

public Object execute(Object o,
                      InternalContextAdapter context)
               throws MethodInvocationException
Specified by:
execute in interface Node
Throws:
MethodInvocationException

getType

public int getType()
Specified by:
getType in interface Node

setInfo

public void setInfo(int info)
Specified by:
setInfo in interface Node

getInfo

public int getInfo()
Specified by:
getInfo in interface Node

setInvalid

public void setInvalid()
Specified by:
setInvalid in interface Node

isInvalid

public boolean isInvalid()
Specified by:
isInvalid in interface Node

getLine

public int getLine()
Specified by:
getLine in interface Node

getColumn

public int getColumn()
Specified by:
getColumn in interface Node


Copyright © 2002 Apache Software Foundation. All Rights Reserved.