org.parboiled.trees
Class MutableBinaryTreeNodeImpl<T extends MutableBinaryTreeNode<T>>

java.lang.Object
  extended by org.parboiled.trees.MutableTreeNodeImpl<T>
      extended by org.parboiled.trees.MutableBinaryTreeNodeImpl<T>
Type Parameters:
T - the actual implementation type of this MutableBinaryTreeNodeImpl
All Implemented Interfaces:
BinaryTreeNode<T>, GraphNode<T>, MutableTreeNode<T>, TreeNode<T>

public class MutableBinaryTreeNodeImpl<T extends MutableBinaryTreeNode<T>>
extends MutableTreeNodeImpl<T>
implements BinaryTreeNode<T>

A simple MutableBinaryTreeNode implementation based on the MutableTreeNodeImpl.


Constructor Summary
MutableBinaryTreeNodeImpl()
           
 
Method Summary
 void addChild(int index, T child)
          Adds the given child to this nodes children list and setting the childs parent field to this node.
 T left()
          Returns the left sub node.
 T removeChild(int index)
          Removes the child with the given index.
 T right()
          Returns the right sub node.
 void setLeft(T node)
           
 void setRight(T node)
           
 
Methods inherited from class org.parboiled.trees.MutableTreeNodeImpl
getChildren, getParent, setChild
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.parboiled.trees.TreeNode
getParent
 
Methods inherited from interface org.parboiled.trees.GraphNode
getChildren
 

Constructor Detail

MutableBinaryTreeNodeImpl

public MutableBinaryTreeNodeImpl()
Method Detail

left

public T left()
Description copied from interface: BinaryTreeNode
Returns the left sub node.

Specified by:
left in interface BinaryTreeNode<T extends MutableBinaryTreeNode<T>>
Returns:
the left sub node

setLeft

public void setLeft(T node)

right

public T right()
Description copied from interface: BinaryTreeNode
Returns the right sub node.

Specified by:
right in interface BinaryTreeNode<T extends MutableBinaryTreeNode<T>>
Returns:
the right sub node

setRight

public void setRight(T node)

addChild

public void addChild(int index,
                     T child)
Description copied from interface: MutableTreeNode
Adds the given child to this nodes children list and setting the childs parent field to this node. If the child is currently attached to another node it is first removed.

Specified by:
addChild in interface MutableTreeNode<T extends MutableBinaryTreeNode<T>>
Overrides:
addChild in class MutableTreeNodeImpl<T extends MutableBinaryTreeNode<T>>
Parameters:
index - the index under which to insert this child into the children list
child - the child node to add

removeChild

public T removeChild(int index)
Description copied from interface: MutableTreeNode
Removes the child with the given index.

Specified by:
removeChild in interface MutableTreeNode<T extends MutableBinaryTreeNode<T>>
Overrides:
removeChild in class MutableTreeNodeImpl<T extends MutableBinaryTreeNode<T>>
Parameters:
index - the index of the child to remove.
Returns:
the removed child