schmitzm.lang.tree
Class TreeNode<E>

java.lang.Object
  extended by schmitzm.lang.tree.TreeNode<E>
Direct Known Subclasses:
BinaryTreeNode

public abstract class TreeNode<E>
extends Object

Diese Klasse stellt einen Knoten in einem Baum dar.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
protected  E object
          Speichert das Objekt, das in dem Knoten gespeichert wird.
protected  TreeNode<E> parent
          Speichert den Vater-Knoten.
 
Constructor Summary
TreeNode()
          Erzeugt einen Wurzel-Knoten ohne Nachfolger.
TreeNode(E object)
          Erzeugt einen Wurzel-Knoten ohne Nachfolger.
TreeNode(E object, TreeNode<E> parent)
          Erzeugt einen Blatt-Knoten.
TreeNode(TreeNode<E> parent)
          Erzeugt einen Blatt-Knoten.
 
Method Summary
abstract  void checkNode(TreeNode<E> node)
          Prueft, ob ein Knoten als Vater- oder Kind-Knoten fuer diesen Knoten verwendet werden kann
abstract  TreeNode<E> getChild(int i)
          Liefert einen Kindknoten.
abstract  int getChildCount()
          Liefert die Anzahl der Kindknoten.
 E getObject()
          Liefert das Objekt, das in dem Knoten gespeichert ist.
 TreeNode<E> getParent()
          Liefert den direkten Vaterknoten.
 TreeNode<E> getRoot()
          Liefert den Wurzel-Knoten.
 boolean isInnerNode()
          Prueft, ob es sich um einen inneren Knoten handelt.
 boolean isLeaf()
          Prueft, ob es sich um einen Blattknoten handelt.
 boolean isRoot()
          Prueft, ob es sich um einen Wurzelknoten handelt.
abstract  void setChild(int i, TreeNode<E> child)
          Setzt einen Kindknoten.
 void setObject(E object)
          Setzt das Objekt, das in dem Knoten gespeichert ist.
 void setParent(TreeNode<E> parent)
          Setzt den direkten Vorgaenger-Knoten
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

protected TreeNode<E> parent
Speichert den Vater-Knoten.


object

protected E object
Speichert das Objekt, das in dem Knoten gespeichert wird.

Constructor Detail

TreeNode

public TreeNode()
Erzeugt einen Wurzel-Knoten ohne Nachfolger.


TreeNode

public TreeNode(E object)
Erzeugt einen Wurzel-Knoten ohne Nachfolger.

Parameters:
object - Objekt, das in dem Knoten gespeichert wird

TreeNode

public TreeNode(TreeNode<E> parent)
Erzeugt einen Blatt-Knoten.

Parameters:
parent - direkter Vorgaenger-Knoten

TreeNode

public TreeNode(E object,
                TreeNode<E> parent)
Erzeugt einen Blatt-Knoten.

Parameters:
object - Objekt, das in dem Knoten gespeichert wird
parent - direkter Vorgaenger-Knoten
Method Detail

getRoot

public TreeNode<E> getRoot()
Liefert den Wurzel-Knoten.


checkNode

public abstract void checkNode(TreeNode<E> node)
Prueft, ob ein Knoten als Vater- oder Kind-Knoten fuer diesen Knoten verwendet werden kann

Parameters:
node - zu pruefende Knoten
Throws:
RuntimeException - falls der Knoten nicht geeignet ist

isRoot

public boolean isRoot()
Prueft, ob es sich um einen Wurzelknoten handelt.

Returns:
true gdw. der Knoten keinen Vater hat
See Also:
getParent()

isLeaf

public boolean isLeaf()
Prueft, ob es sich um einen Blattknoten handelt.

Returns:
true gdw. alle Kinder null sind

isInnerNode

public boolean isInnerNode()
Prueft, ob es sich um einen inneren Knoten handelt.

Returns:
true gdw. der Knoten keine Wurzel und kein Blatt ist

getParent

public TreeNode<E> getParent()
Liefert den direkten Vaterknoten.


setParent

public void setParent(TreeNode<E> parent)
Setzt den direkten Vorgaenger-Knoten

Parameters:
parent - neuer direkter Vorgaenger

getChildCount

public abstract int getChildCount()
Liefert die Anzahl der Kindknoten.


getChild

public abstract TreeNode<E> getChild(int i)
Liefert einen Kindknoten.

Parameters:
i - Index (beginnend bei 0)

setChild

public abstract void setChild(int i,
                              TreeNode<E> child)
Setzt einen Kindknoten.

Parameters:
i - Index (beginnend bei 0)
child - ein Kindknoten

getObject

public E getObject()
Liefert das Objekt, das in dem Knoten gespeichert ist.


setObject

public void setObject(E object)
Setzt das Objekt, das in dem Knoten gespeichert ist.