sbrt.kernel.math.graph_theory.proc
Class CycleIdProcess<N>

java.lang.Object
  extended by sbrt.kernel.math.graph_theory.proc.CycleIdProcess<N>
Type Parameters:
N - the node type.
All Implemented Interfaces:
KernelProcess<Path<N>>, MonitoredProcess<Path<N>>

public class CycleIdProcess<N>
extends java.lang.Object
implements MonitoredProcess<Path<N>>

This class is used to identify all the simple cycles in a directed graph.

Author:
This class was written and documented by Jeremiah Wright while in the Wagner lab.

Constructor Summary
CycleIdProcess()
          Constructs a new cycle-identification process.
 
Method Summary
 ProgressMonitor getProgress()
          Returns a progress monitor for this process.
 void run(ResultsManager<Path<N>> resultsManager)
          Adds to the provided results manager each identified cycle in the current graph.
 void setGraph(DirectedGraph<N> graph)
          Sets the graph for which all cycles will be identified.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CycleIdProcess

public CycleIdProcess()
Constructs a new cycle-identification process.

Method Detail

setGraph

public void setGraph(DirectedGraph<N> graph)
Sets the graph for which all cycles will be identified.

Parameters:
graph - the graph for which all paths will be identified.

getProgress

public ProgressMonitor getProgress()
Returns a progress monitor for this process.

Specified by:
getProgress in interface MonitoredProcess<Path<N>>
Returns:
a progress monitor for this process.

run

public void run(ResultsManager<Path<N>> resultsManager)
Adds to the provided results manager each identified cycle in the current graph.

Specified by:
run in interface KernelProcess<Path<N>>
Parameters:
resultsManager - the results manager to which the cycles are added.