org.apache.tuscany.sca.core.invocation
Class PhaseSorter<V>

java.lang.Object
  extended by org.apache.tuscany.sca.core.invocation.PhaseSorter<V>
Type Parameters:
V - The type of vertex object
E - The type of edge object
All Implemented Interfaces:
java.lang.Cloneable

public class PhaseSorter<V>
extends java.lang.Object
implements java.lang.Cloneable

Directed, weighted graph


Nested Class Summary
 class PhaseSorter.Edge
          An Edge connects two vertices in one direction
 class PhaseSorter.Vertex
          Vertex of a graph
 
Constructor Summary
PhaseSorter()
           
 
Method Summary
 void addEdge(V source, V target)
           
 void addGraph(PhaseSorter<V> otherGraph)
           
 void addVertext(V source)
           
 java.lang.Object clone()
           
 PhaseSorter.Edge getEdge(PhaseSorter.Vertex source, PhaseSorter.Vertex target)
           
 PhaseSorter.Edge getEdge(V source, V target)
           
 PhaseSorter.Vertex getVertex(V source)
           
 java.util.Map<V,PhaseSorter.Vertex> getVertices()
           
 void removeEdge(PhaseSorter.Edge edge)
           
 boolean removeEdge(V source, V target)
           
 void removeVertex(PhaseSorter.Vertex vertex)
           
 java.util.List<V> topologicalSort(boolean readOnly)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PhaseSorter

public PhaseSorter()
Method Detail

addEdge

public void addEdge(V source,
                    V target)

addVertext

public void addVertext(V source)

getVertex

public PhaseSorter.Vertex getVertex(V source)

removeEdge

public boolean removeEdge(V source,
                          V target)

removeEdge

public void removeEdge(PhaseSorter.Edge edge)

removeVertex

public void removeVertex(PhaseSorter.Vertex vertex)

getEdge

public PhaseSorter.Edge getEdge(PhaseSorter.Vertex source,
                                PhaseSorter.Vertex target)

getEdge

public PhaseSorter.Edge getEdge(V source,
                                V target)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getVertices

public java.util.Map<V,PhaseSorter.Vertex> getVertices()

addGraph

public void addGraph(PhaseSorter<V> otherGraph)

topologicalSort

public java.util.List<V> topologicalSort(boolean readOnly)

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object