at.ac.tuwien.dbai.alternation.runtime
Class ComputationTree<GWorktape extends InterfaceWorktape>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<ComputationNode<GWorktape>,java.lang.Boolean>
          extended by at.ac.tuwien.dbai.alternation.runtime.ComputationTree<GWorktape>
Type Parameters:
GWorktape - container class for the work variables
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<ComputationNode<GWorktape>,java.lang.Boolean>
Direct Known Subclasses:
ComputationTreeCyclic

public class ComputationTree<GWorktape extends InterfaceWorktape>
extends java.util.HashMap<ComputationNode<GWorktape>,java.lang.Boolean>

Computation Tree of an alternating computation - saves the configurations and their succesor relation

Author:
Wolfgang Dvorak
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Field Summary
protected  java.util.Map<ComputationNode<GWorktape>,java.util.List<ComputationNode<GWorktape>>> edges
           
protected  java.util.Map<ComputationNode<GWorktape>,ComputationNode<GWorktape>> nodes
           
 
Constructor Summary
ComputationTree()
           
 
Method Summary
 void addEdge(ComputationNode<GWorktape> parent, ComputationNode<GWorktape> child)
          Adds a edge between two Computation Nodes
 java.util.List<ComputationNode<GWorktape>> getChildren(ComputationNode<GWorktape> node)
           
 java.lang.String getName()
           
 ComputationNode<GWorktape> getRoot()
           
 java.lang.Byte getStateId(java.lang.String name)
          returns a states id for a given name
 java.lang.String getStateName(java.lang.Byte stateId)
          returns a states name for a given id
 java.lang.Boolean put(ComputationNode<GWorktape> node, java.lang.Boolean acceptance)
           
 void setName(java.lang.String name)
           
 void setNameToStateId(java.lang.String string, java.lang.Byte b)
          maps the state name with its id
 void setRoot(ComputationNode<GWorktape> root)
           
 void setStateIdToName(java.lang.Byte b, java.lang.String string)
          maps the state id with its name
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

edges

protected java.util.Map<ComputationNode<GWorktape extends InterfaceWorktape>,java.util.List<ComputationNode<GWorktape extends InterfaceWorktape>>> edges

nodes

protected java.util.Map<ComputationNode<GWorktape extends InterfaceWorktape>,ComputationNode<GWorktape extends InterfaceWorktape>> nodes
Constructor Detail

ComputationTree

public ComputationTree()
Method Detail

addEdge

public void addEdge(ComputationNode<GWorktape> parent,
                    ComputationNode<GWorktape> child)
Adds a edge between two Computation Nodes

Parameters:
parent - fromNode
child - toNode

getChildren

public java.util.List<ComputationNode<GWorktape>> getChildren(ComputationNode<GWorktape> node)
Parameters:
node - ComputationNode
Returns:
Successors in the ComputationTree

getName

public java.lang.String getName()

getRoot

public ComputationNode<GWorktape> getRoot()
Returns:
the root of the computation tree

getStateId

public java.lang.Byte getStateId(java.lang.String name)
returns a states id for a given name

Parameters:
name - state name
Returns:
state id

getStateName

public java.lang.String getStateName(java.lang.Byte stateId)
returns a states name for a given id

Parameters:
stateId - state id
Returns:
state name

put

public java.lang.Boolean put(ComputationNode<GWorktape> node,
                             java.lang.Boolean acceptance)
Specified by:
put in interface java.util.Map<ComputationNode<GWorktape extends InterfaceWorktape>,java.lang.Boolean>
Overrides:
put in class java.util.HashMap<ComputationNode<GWorktape extends InterfaceWorktape>,java.lang.Boolean>

setName

public void setName(java.lang.String name)

setNameToStateId

public void setNameToStateId(java.lang.String string,
                             java.lang.Byte b)
maps the state name with its id

Parameters:
string - state name
b - state id

setRoot

public void setRoot(ComputationNode<GWorktape> root)
Parameters:
root - ComputationNode constucted by the input and the initial worktape

setStateIdToName

public void setStateIdToName(java.lang.Byte b,
                             java.lang.String string)
maps the state id with its name

Parameters:
b - state id
string - state name