org.rdtdm.helpers.graph
Class Graph

java.lang.Object
  |
  +--org.rdtdm.helpers.graph.Graph
Direct Known Subclasses:
SearchSpace

public class Graph
extends java.lang.Object

Graph



Copyright (c) 2001 by Dirk Münstermann
All Rights Reserved

Version:
$Revision: 1.1 $ ($Date: 2001/10/09 16:57:20 $)
Changelog:
 $Log: Graph.java,v $
 Revision 1.1  2001/10/09 16:57:20  dirk
 init

 


Author:
Dirk Münstermann

Field Summary
private  java.util.Collection edges
          Alle Kanten des Graphen, wird nur genutzt, wenn die Kanten mit zus?tzlichen Informationen gef?llt werden.
private  java.util.HashSet nodes
          Alle Knoten des Graphen
private  Node root
          Die Wurzel des Graphen.
 
Constructor Summary
Graph()
           
 
Method Summary
 void addEdge(Edge edge)
           
 void addEdges(java.util.Collection _edges)
           
 void addNode(Node node)
          F?gt einen Knoten in die Menge der Knoten ein.
 java.lang.Object bfs(NodeAction na)
          F?hrt eine Breitensuche durch den Graphen aus.
 boolean contains(Node node)
           
 java.lang.Object dfs(NodeAction na)
          F?hrt eine Tiefensuche durch den Graphen aus.
 Edge getEdge(Node from, Node to)
           
 java.util.Collection getEdges()
           
 java.util.Collection getEdges(Node from)
           
 java.util.Collection getLeaves()
           
 java.util.Collection getNodes()
           
protected  java.util.ArrayList getNodesNextLevel(java.util.ArrayList nodes)
           
 Node getRoot()
          Liefert den root-Knoten in der Hierachie zurueck.
 void printEdges()
           
 void printGraph()
           
protected  void printNodeAndChilds(Node parent, int offset)
           
protected  void printNodeAndChildsOLD(Node parent, int offset)
           
 void printNodes()
           
 void setEdges(java.util.Collection _edges)
           
protected  void setNodesAction(NodeAction na)
          Setzt f?r alle Knoten in dem Suchraum die Knotenaktion.
protected  void setNodesVisited(boolean visited)
          Setzt f?r alle Knoten in dem Suchraum den Flag besucht.
 void setRoot(Node root)
          Setzt den Wurzelknoten des Graphen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

root

private Node root
Die Wurzel des Graphen.


edges

private java.util.Collection edges
Alle Kanten des Graphen, wird nur genutzt, wenn die Kanten mit zus?tzlichen Informationen gef?llt werden.


nodes

private java.util.HashSet nodes
Alle Knoten des Graphen

Constructor Detail

Graph

public Graph()
Method Detail

getRoot

public Node getRoot()
Liefert den root-Knoten in der Hierachie zurueck.

Returns:
root Knoten.


setRoot

public void setRoot(Node root)
Setzt den Wurzelknoten des Graphen.


addNode

public void addNode(Node node)
F?gt einen Knoten in die Menge der Knoten ein.

Parameters:
node - Ein Knoten.


getNodes

public java.util.Collection getNodes()

getEdges

public java.util.Collection getEdges()

setEdges

public void setEdges(java.util.Collection _edges)

addEdges

public void addEdges(java.util.Collection _edges)

addEdge

public void addEdge(Edge edge)

getEdge

public Edge getEdge(Node from,
                    Node to)

getEdges

public java.util.Collection getEdges(Node from)

getLeaves

public java.util.Collection getLeaves()

dfs

public java.lang.Object dfs(NodeAction na)
F?hrt eine Tiefensuche durch den Graphen aus.

Parameters:
na - Eine Aktion auf einen Knoten.


bfs

public java.lang.Object bfs(NodeAction na)
F?hrt eine Breitensuche durch den Graphen aus.

Parameters:
na - Eine Aktion auf einen Knoten.


contains

public boolean contains(Node node)

printGraph

public void printGraph()

printNodes

public void printNodes()

printEdges

public void printEdges()

getNodesNextLevel

protected java.util.ArrayList getNodesNextLevel(java.util.ArrayList nodes)

setNodesVisited

protected void setNodesVisited(boolean visited)
Setzt f?r alle Knoten in dem Suchraum den Flag besucht.

Parameters:
visited - besucht oder nicht.


setNodesAction

protected void setNodesAction(NodeAction na)
Setzt f?r alle Knoten in dem Suchraum die Knotenaktion.

Parameters:
na - Die Knotenaktion


printNodeAndChildsOLD

protected void printNodeAndChildsOLD(Node parent,
                                     int offset)

printNodeAndChilds

protected void printNodeAndChilds(Node parent,
                                  int offset)