|
|||||||||
| 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 |
_dat
the stored data element. |
private BiTree<T> |
_leftTree
Data Invariant: != null. |
private BiTree<T> |
_rightTree
Data 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 | ||||||||