com.singularsys.jep.parser
Class SimpleNode

java.lang.Object
  extended by com.singularsys.jep.parser.SimpleNode
All Implemented Interfaces:
Node
Direct Known Subclasses:
ASTConstant, ASTFunNode, ASTStart, ASTVarNode

public abstract class SimpleNode
extends java.lang.Object
implements Node


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.singularsys.jep.parser.Node
Node.HookKey
 
Field Summary
protected  Node[] children
           
protected  int id
           
protected  Node.HookKey[] keys
           
protected  Node parent
           
protected  Parser parser
           
protected  java.lang.Object[] vals
           
 
Constructor Summary
SimpleNode(int i)
           
SimpleNode(Parser p, int i)
           
 
Method Summary
 java.util.Iterator<Node> childIterator()
          Returns an Iterator which iterates over the children of the Node.
 java.lang.Iterable<Node> children()
          Returns an Iterable object which can be used in a for/in loop.
 java.lang.Object childrenAccept(ParserVisitor visitor, java.lang.Object data)
          Accept the visitor.
 void dump(java.lang.String prefix)
           
 java.lang.Object getHook(Node.HookKey key)
          Get the object associated with the key
 int getId()
          Returns the id of the node (for simpler identification).
 java.util.Collection<Node.HookKey> hookKeys()
          Get all the keys defined for this node.
 java.lang.Object jjtAccept(ParserVisitor visitor, java.lang.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.
 java.lang.Object removeHook(Node.HookKey key)
          Remove the key
 java.lang.Object setHook(Node.HookKey key, java.lang.Object hook)
          Set the data associated with a given key
 java.lang.String toString(java.lang.String prefix)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.singularsys.jep.parser.Node
getName, getOperator, getPFMC, getValue, getVar
 

Field Detail

parent

protected Node parent

children

protected Node[] children

id

protected int id

parser

protected Parser parser

keys

protected Node.HookKey[] keys

vals

protected java.lang.Object[] vals
Constructor Detail

SimpleNode

public SimpleNode(int i)

SimpleNode

public SimpleNode(Parser p,
                  int i)
Method Detail

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

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 java.lang.Object jjtAccept(ParserVisitor visitor,
                                  java.lang.Object data)
                           throws JepException
Accept the visitor.

Specified by:
jjtAccept in interface Node
Throws:
ParseException
JepException

childrenAccept

public java.lang.Object childrenAccept(ParserVisitor visitor,
                                       java.lang.Object data)
                                throws JepException
Accept the visitor.

Throws:
JepException

toString

public java.lang.String toString(java.lang.String prefix)

dump

public void dump(java.lang.String prefix)

getId

public int getId()
Returns the id of the node (for simpler identification).

Specified by:
getId in interface Node

getHook

public java.lang.Object getHook(Node.HookKey key)
Description copied from interface: Node
Get the object associated with the key

Specified by:
getHook in interface Node
Returns:
the object associated with the key

setHook

public java.lang.Object setHook(Node.HookKey key,
                                java.lang.Object hook)
Description copied from interface: Node
Set the data associated with a given key

Specified by:
setHook in interface Node
Parameters:
key - defining the type of data
hook - actual object
Returns:
previous object associated with the key

hookKeys

public java.util.Collection<Node.HookKey> hookKeys()
Description copied from interface: Node
Get all the keys defined for this node.

Specified by:
hookKeys in interface Node
Returns:
all the keys

removeHook

public java.lang.Object removeHook(Node.HookKey key)
Description copied from interface: Node
Remove the key

Specified by:
removeHook in interface Node
Returns:
the object which was associated with the key

childIterator

public java.util.Iterator<Node> childIterator()
Returns an Iterator which iterates over the children of the Node. The remove method is unsupported.

Specified by:
childIterator in interface Node
Returns:
a new Iterator

children

public java.lang.Iterable<Node> children()
Returns an Iterable object which can be used in a for/in loop.
 for(Node child:node.children()) {
  ...
 }
 

Specified by:
children in interface Node


Copyright © 2010 Singular Systems http://www.singularsys.com/jep