|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object brs.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 |