Package org.exolab.castor.jdo.oql
Class ParseTreeNode
java.lang.Object
org.exolab.castor.jdo.oql.ParseTreeNode
A Node in the Parse tree which is generated by the
Parser
as the tree
representation of the OQL Query. Each node has a link back to the parent node
(null for the root node), and a vector of children. Each node contains the
Token
which represents that part of the tree.- Version:
- $Revision: 8102 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
- Author:
- Nissim Karpenstein
-
Constructor Summary
ConstructorsConstructorDescriptionParseTreeNode
(ParseTreeNode parent, Token token) Creates a new Node with supplied parent and token.ParseTreeNode
(Token token) Creates a new root Node with supplied token. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addChild
(ParseTreeNode child) Adds a new node as a child of this node.children()
Accessor method for an iteration of this nodes children.getChild
(int index) Accessor method for individual children of this node.int
Accessor method for the number of children of this node.Accessor method for the parent of this node.getToken()
Accessor method for the token.boolean
isLeaf()
Specifies whether this node is a leaf.boolean
isRoot()
Specifies whether this node is the root of a tree.void
setParent
(ParseTreeNode parent) Changes the parent of this node.toString()
-
Constructor Details
-
ParseTreeNode
Creates a new Node with supplied parent and token.- Parameters:
parent
- The parent of this node (null for root)token
- The token data in this node
-
ParseTreeNode
Creates a new root Node with supplied token.- Parameters:
token
- The token data in this node
-
-
Method Details
-
toString
-
toStringEx
-
setParent
Changes the parent of this node.- Parameters:
parent
- The new parent.
-
addChild
Adds a new node as a child of this node. Changes the nodes parent to this.- Parameters:
child
- The new child
-
isRoot
public boolean isRoot()Specifies whether this node is the root of a tree.- Returns:
- True if the node does not have a parent, otherwise false.
-
isLeaf
public boolean isLeaf()Specifies whether this node is a leaf.- Returns:
- True if the node does not have any children, otherwise false.
-
getParent
Accessor method for the parent of this node.- Returns:
- The parent of this node.
-
children
Accessor method for an iteration of this nodes children.- Returns:
- An Iterator of children.
-
getChild
Accessor method for individual children of this node.- Parameters:
index
- the index of the child to retrieve.- Returns:
- the index child of this node.
-
getChildCount
public int getChildCount()Accessor method for the number of children of this node.- Returns:
- the number of children of this node.
-
getToken
Accessor method for the token.- Returns:
- The token which is the datum of this node.
-