org.apache.commons.jexl2.parser
Class SimpleNode

java.lang.Object
  extended by org.apache.commons.jexl2.parser.SimpleNode
All Implemented Interfaces:
Node
Direct Known Subclasses:
JexlNode

public class SimpleNode
extends Object
implements Node

A class originally generated by JJTree with the following JavaCCOptions: MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY= Works around issue https://javacc.dev.java.net/issues/show_bug.cgi?id=227 As soon as this issue if fixed and the maven plugin uses the correct version of Javacc, this class can go away. The technical goal is to ensure every reference made in the parser was to a JexlNode; unfortunately, as in javacc 4.1, it still uses a SimpleNode reference in the generated ParserVisitor. Besides, there is no need to keep the parser around in the node. The functional goal is to a allow a volatile value in the node so it can serve as a last evaluation cache even in multi-threaded executions.


Field Summary
protected  JexlNode[] children
          The array of children nodes.
protected  int id
          The node type id.
protected  JexlNode parent
          The parent node.
protected  Object value
          volatile value so it can be used as a last evaluation cache.
 
Constructor Summary
SimpleNode(int i)
          Creates a SimpleNode instance.
SimpleNode(Parser p, int i)
          Creates a SimpleNode instance.
 
Method Summary
 Object childrenAccept(ParserVisitor visitor, Object data)
          Accept the visitor on all this node's children.
 void dump(String prefix)
           
 Object jjtAccept(ParserVisitor visitor, Object data)
          Accept the visitor.
 void jjtAddChild(Node n, int i)
          Adds a child node.
 void jjtClose()
          This method is called after all the child nodes have been added.
 JexlNode jjtGetChild(int i)
          Gets a child of this node.
 int jjtGetNumChildren()
          Gets this node number of children.
 JexlNode jjtGetParent()
          Gets this node's parent.
 Object jjtGetValue()
          Gets this node value.
 void jjtOpen()
          This method is called after the node has been made the current node.
 void jjtSetParent(Node n)
          Sets this node's parent.
 void jjtSetValue(Object value)
          Sets this node value.
 String toString()
           
 String toString(String prefix)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parent

protected JexlNode parent
The parent node.


children

protected JexlNode[] children
The array of children nodes.


id

protected final int id
The node type id.


value

protected volatile Object value
volatile value so it can be used as a last evaluation cache.

Constructor Detail

SimpleNode

public SimpleNode(int i)
Creates a SimpleNode instance.

Parameters:
i - the node type identifier

SimpleNode

public SimpleNode(Parser p,
                  int i)
Creates a SimpleNode instance.

Parameters:
p - the parser instance
i - the node type identifier
Method Detail

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.

Specified by:
jjtOpen in interface Node

jjtClose

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

Specified by:
jjtClose in interface Node

jjtSetParent

public void jjtSetParent(Node n)
Sets this node's parent.

Specified by:
jjtSetParent in interface Node
Parameters:
n - the parent

jjtGetParent

public JexlNode jjtGetParent()
Gets this node's parent.

Specified by:
jjtGetParent in interface Node
Returns:
the parent node

jjtAddChild

public void jjtAddChild(Node n,
                        int i)
Adds a child node.

Specified by:
jjtAddChild in interface Node
Parameters:
n - the child node
i - the child offset

jjtGetChild

public JexlNode jjtGetChild(int i)
Gets a child of this node.

Specified by:
jjtGetChild in interface Node
Parameters:
i - the child offset
Returns:
the child node

jjtGetNumChildren

public int jjtGetNumChildren()
Gets this node number of children.

Specified by:
jjtGetNumChildren in interface Node
Returns:
the number of children

jjtSetValue

public void jjtSetValue(Object value)
Sets this node value.

Parameters:
value -

jjtGetValue

public Object jjtGetValue()
Gets this node value.

Returns:
value

jjtAccept

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

Specified by:
jjtAccept in interface Node
Parameters:
visitor - the visitor
data - contextual data
Returns:
result of visit

childrenAccept

public Object childrenAccept(ParserVisitor visitor,
                             Object data)
Accept the visitor on all this node's children.

Parameters:
visitor - the visitor
data - contextual data
Returns:
result of visit

toString

public String toString()
Overrides:
toString in class Object

toString

public String toString(String prefix)

dump

public void dump(String prefix)


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.