| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectbrs.ANode<T>
brs.DatNode<T>
class DatNode<T>
Stores data and represents a non-empty state.
| Field Summary | |
|---|---|
| private  T | _datthe stored data element. | 
| private  BiTree<T> | _leftTreeData Invariant: != null. | 
| private  BiTree<T> | _rightTreeData Invariant: != null. | 
| Constructor Summary | |
|---|---|
| DatNode(T dat)Initialize the data element to a given object. | |
| Method Summary | ||
|---|---|---|
| (package private) 
 | execute(BiTree<T> owner,
               IVisitor<T,R,P> algo,
               P... inp)Calls algo's nonEmptyCase() method to execute the algorithm algo. | |
| (package private)  BiTree<T> | getLeftSubTree(BiTree<T> owner)Gets the left subtree of the owner tree. | |
| (package private)  BiTree<T> | getRightSubTree(BiTree<T> owner)Gets the right subtree of the owner tree. | |
| (package private)  T | getRootDat(BiTree<T> owner)Gets the root data of the owner Tree. | |
| (package private)  void | insertRoot(BiTree<T> owner,
                     T dat)Throws an IllegalStateException because the owner tree is not empty. | |
| (package private)  T | remRoot(BiTree<T> owner)Removes and returns the root element from the owner tree by asking the left subtree and, if necessary, the right subtree to help do the job. | |
| (package private)  void | setLeftSubTree(BiTree<T> owner,
                             BiTree<T> biTree)Sets the left subtree of this Datnode to a given tree. | |
| (package private)  void | setRightSubTree(BiTree<T> owner,
                               BiTree<T> biTree)Sets the right subtree of this node to a given tree. | |
| (package private)  void | setRootDat(BiTree<T> owner,
                     T dat)Sets the data element of this node to a given data object. | |
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
private BiTree<T> _leftTree
private T _dat
private BiTree<T> _rightTree
| Constructor Detail | 
|---|
DatNode(T dat)
dat - a given data object.| Method Detail | 
|---|
T getRootDat(BiTree<T> owner)
getRootDat in class ANode<T>owner - the BiTree holding this DatNode.
void setRootDat(BiTree<T> owner,
                T dat)
setRootDat in class ANode<T>dat - a given data object.owner - the BiTree holding this DatNode.BiTree<T> getLeftSubTree(BiTree<T> owner)
getLeftSubTree in class ANode<T>owner - the BiTree holding this DatNode.
BiTree<T> getRightSubTree(BiTree<T> owner)
getRightSubTree in class ANode<T>owner - the BiTree holding this DatNode.
void setLeftSubTree(BiTree<T> owner,
                    BiTree<T> biTree)
setLeftSubTree in class ANode<T>biTree - != null.  Does not check for null!owner - the BiTree holding this DatNode.
void setRightSubTree(BiTree<T> owner,
                     BiTree<T> biTree)
setRightSubTree in class ANode<T>biTree - != null.  Does not check for null!owner - the BiTree holding this DatNode.
void insertRoot(BiTree<T> owner,
                T dat)
insertRoot in class ANode<T>owner - the BiTree that holds this node.
IllegaStateException.T remRoot(BiTree<T> owner)
remRoot in class ANode<T>owner - the BiTree holding this DatNode.  Why is it final?
IllegaStateException - if both subtrees of owner are non-empty.
<R,P> R execute(BiTree<T> owner,
                IVisitor<T,R,P> algo,
                P... inp)
execute in class ANode<T>owner - the BiTree holding this DatNode.algo - an algorithm on owner.inp - the vararg input algo needs.
| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||