Package ghidra.graph.algo
Class RecursiveFindPathsAlgorithm<V,E extends GEdge<V>>
- java.lang.Object
 - 
- ghidra.graph.algo.RecursiveFindPathsAlgorithm<V,E>
 
 
- 
- Type Parameters:
 V- the vertex typeE- the edge type
- All Implemented Interfaces:
 FindPathsAlgorithm<V,E>
public class RecursiveFindPathsAlgorithm<V,E extends GEdge<V>> extends java.lang.Object implements FindPathsAlgorithm<V,E>
Finds all paths between two vertices for a given graph.Warning: This is a recursive algorithm. As such, it is limited in how deep it can recurse. Any path that exceeds the
JAVA_STACK_DEPTH_LIMITwill not be found.Note: this algorithm is based entirely on the
JohnsonCircuitsAlgorithm. 
- 
- 
Field Summary
Fields Modifier and Type Field Description static intJAVA_STACK_DEPTH_LIMIT 
- 
Constructor Summary
Constructors Constructor Description RecursiveFindPathsAlgorithm() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfindPaths(GDirectedGraph<V,E> g, V start, V end, Accumulator<java.util.List<V>> accumulator, TaskMonitor monitor)voidsetStatusListener(GraphAlgorithmStatusListener<V> listener) 
 - 
 
- 
- 
Field Detail
- 
JAVA_STACK_DEPTH_LIMIT
public static final int JAVA_STACK_DEPTH_LIMIT
- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
setStatusListener
public void setStatusListener(GraphAlgorithmStatusListener<V> listener)
- Specified by:
 setStatusListenerin interfaceFindPathsAlgorithm<V,E extends GEdge<V>>
 
- 
findPaths
public void findPaths(GDirectedGraph<V,E> g, V start, V end, Accumulator<java.util.List<V>> accumulator, TaskMonitor monitor) throws CancelledException
- Specified by:
 findPathsin interfaceFindPathsAlgorithm<V,E extends GEdge<V>>- Throws:
 CancelledException
 
 - 
 
 -