Class ParseTreeNode

java.lang.Object
org.exolab.castor.jdo.oql.ParseTreeNode

public final class ParseTreeNode extends Object
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 Tokenwhich 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 Details

    • ParseTreeNode

      public ParseTreeNode(ParseTreeNode parent, Token token)
      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

      public ParseTreeNode(Token token)
      Creates a new root Node with supplied token.
      Parameters:
      token - The token data in this node
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toStringEx

      public String toStringEx()
    • setParent

      public void setParent(ParseTreeNode parent)
      Changes the parent of this node.
      Parameters:
      parent - The new parent.
    • addChild

      public void addChild(ParseTreeNode child)
      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

      public ParseTreeNode getParent()
      Accessor method for the parent of this node.
      Returns:
      The parent of this node.
    • children

      public Iterator<ParseTreeNode> children()
      Accessor method for an iteration of this nodes children.
      Returns:
      An Iterator of children.
    • getChild

      public ParseTreeNode getChild(int index)
      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

      public Token getToken()
      Accessor method for the token.
      Returns:
      The token which is the datum of this node.