schmitzm.lang.tree
Class OperationTree.MultiParamOperatorNode

java.lang.Object
  extended by schmitzm.lang.tree.TreeNode<E>
      extended by schmitzm.lang.tree.BinaryTreeNode<String>
          extended by schmitzm.lang.tree.OperationTree.OperatorNode
              extended by schmitzm.lang.tree.OperationTree.MultiParamOperatorNode
Enclosing class:
OperationTree

public static class OperationTree.MultiParamOperatorNode
extends OperationTree.OperatorNode

Diese Knoten repraesentiert den speziellen Operator mit mehr als 2 Operanden.
Bemerkung: Eigentlich "vergewaltigt" dieser Knoten den BinaryTreeNode (bzw. OperationTree.OperatorNode), da er nicht mehr binaer ist. Ich habe jedoch im Moment keine Zeit, den OperationTreeParser so umzuprogrammieren, dass er nur noch auf dem allgemeinen TreeNode basiert.

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

Field Summary
protected  BinaryTreeNode<String>[] paramNodes
          Speichert die Parameter des Operators.
 
Fields inherited from class schmitzm.lang.tree.BinaryTreeNode
leftChild, rightChild
 
Fields inherited from class schmitzm.lang.tree.TreeNode
object, parent
 
Constructor Summary
OperationTree.MultiParamOperatorNode(String operator, BinaryTreeNode parent, BinaryTreeNode... parameter)
          Erzeugt einen neuen Operator-Knoten
OperationTree.MultiParamOperatorNode(String operator, BinaryTreeNode parent, int paramCount)
          Erzeugt einen neuen Operator-Knoten
OperationTree.MultiParamOperatorNode(String operator, int paramCount)
          Erzeugt einen neuen Operator-Knoten
 
Method Summary
 BinaryTreeNode getChild(int i)
          Liefert den Knoten fuer einen Funktionsparameter.
 int getChildCount()
          Liefert die Anzahl an Parametern.
 void setChild(int i, TreeNode<String> paramNode)
          Setzt den Knoten fuer einen Funktionsparameter.
 
Methods inherited from class schmitzm.lang.tree.BinaryTreeNode
checkNode, getLeftChild, getObjectsInorder, getObjectsPostorder, getObjectsPreorder, getParent, getRightChild, getRoot, isLeaf, setLeftChild, setRightChild
 
Methods inherited from class schmitzm.lang.tree.TreeNode
getObject, isInnerNode, isRoot, setObject, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

paramNodes

protected BinaryTreeNode<String>[] paramNodes
Speichert die Parameter des Operators.

Constructor Detail

OperationTree.MultiParamOperatorNode

public OperationTree.MultiParamOperatorNode(String operator,
                                            BinaryTreeNode parent,
                                            int paramCount)
Erzeugt einen neuen Operator-Knoten

Parameters:
operator - Operator
parent - Vater-Knoten
paramCount - Anzahl an Parameters des Operators

OperationTree.MultiParamOperatorNode

public OperationTree.MultiParamOperatorNode(String operator,
                                            int paramCount)
Erzeugt einen neuen Operator-Knoten

Parameters:
operator - Operator
paramCount - Anzahl an Parameters des Operators

OperationTree.MultiParamOperatorNode

public OperationTree.MultiParamOperatorNode(String operator,
                                            BinaryTreeNode parent,
                                            BinaryTreeNode... parameter)
Erzeugt einen neuen Operator-Knoten

Parameters:
operator - Operator
parent - Vater-Knoten
parameter - Knoten die die Funktionsparameter darstellen
Method Detail

setChild

public void setChild(int i,
                     TreeNode<String> paramNode)
Setzt den Knoten fuer einen Funktionsparameter.

Overrides:
setChild in class BinaryTreeNode<String>
Parameters:
i - int Nummer des Parameters
paramNode - Knoten der den Parameter darstellt

getChild

public BinaryTreeNode getChild(int i)
Liefert den Knoten fuer einen Funktionsparameter.

Overrides:
getChild in class BinaryTreeNode<String>
Parameters:
i - int Nummer des Parameters
Returns:
den linken Knoten fuer i = 1, den rechten Knoten sonst

getChildCount

public int getChildCount()
Liefert die Anzahl an Parametern.

Overrides:
getChildCount in class BinaryTreeNode<String>
Returns:
immer 2, unabhaengig davon, ob diese null sind oder nicht