org.apache.velocity.runtime.parser.node

Interface Node

Known Implementing Classes:
ASTAddNode, ASTAndNode, ASTAssignment, ASTBlock, ASTComment, ASTDirective, ASTDivNode, ASTElseIfStatement, ASTElseStatement, ASTEQNode, ASTEscape, ASTEscapedDirective, ASTExpression, ASTFalse, ASTGENode, ASTGTNode, ASTIdentifier, ASTIfStatement, ASTIncludeStatement, ASTIntegerRange, ASTLENode, ASTLTNode, ASTMethod, ASTModNode, ASTMulNode, ASTNENode, ASTNotNode, ASTNumberLiteral, ASTObjectArray, ASTOrNode, ASTprocess, ASTParameters, ASTReference, ASTSetDirective, ASTStringLiteral, ASTSubtractNode, ASTText, ASTTrue, ASTVariable, ASTWord, SimpleNode

public interface Node

All AST nodes must implement this interface. It provides basic machinery for constructing the parent and child relationships between nodes.

Method Summary

Object
childrenAccept(ParserVisitor visitor, Object data)
boolean
evaluate(InternalContextAdapter context)
Object
execute(Object o, InternalContextAdapter context)
int
getColumn()
Token
getFirstToken()
int
getInfo()
Token
getLastToken()
int
getLine()
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
setInfo(int info)
void
setInvalid()
Object
value(InternalContextAdapter context)

Method Details

childrenAccept

public Object childrenAccept(ParserVisitor visitor,
                             Object data)


evaluate

public boolean evaluate(InternalContextAdapter context)
            throws MethodInvocationException


execute

public Object execute(Object o,
                      InternalContextAdapter context)
            throws MethodInvocationException


getColumn

public int getColumn()


getFirstToken

public Token getFirstToken()


getInfo

public int getInfo()


getLastToken

public Token getLastToken()


getLine

public int getLine()


getType

public int getType()


init

public Object init(InternalContextAdapter context,
                   Object data)
            throws Exception


isInvalid

public boolean isInvalid()


jjtAccept

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


jjtAddChild

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


jjtClose

public void jjtClose()
This method is called after all the child nodes have been added.


jjtGetChild

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


jjtGetNumChildren

public int jjtGetNumChildren()
Return the number of children the node has.


jjtGetParent

public Node jjtGetParent()


jjtOpen

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


jjtSetParent

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


literal

public String literal()


render

public boolean render(InternalContextAdapter context,
                      Writer writer)
            throws IOException,
                   MethodInvocationException,
                   ParseErrorException,
                   ResourceNotFoundException


setInfo

public void setInfo(int info)


setInvalid

public void setInvalid()


value

public Object value(InternalContextAdapter context)
            throws MethodInvocationException


Copyright B) 2002 Apache Software Foundation. All Rights Reserved.