Package org.benf.cfr.reader.util.graph
Class GraphVisitorDFS<T>
- java.lang.Object
-
- org.benf.cfr.reader.util.graph.GraphVisitorDFS<T>
-
- All Implemented Interfaces:
GraphVisitor<T>
public class GraphVisitorDFS<T> extends java.lang.Object implements GraphVisitor<T>
-
-
Constructor Summary
Constructors Constructor Description GraphVisitorDFS(java.util.Collection<? extends T> first, BinaryProcedure<T,GraphVisitor<T>> callee)
GraphVisitorDFS(T first, BinaryProcedure<T,GraphVisitor<T>> callee)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
void
enqueue(java.util.Collection<? extends T> next)
void
enqueue(T next)
java.util.Collection<T>
getVisitedNodes()
void
process()
boolean
wasAborted()
-
-
-
Field Detail
-
start
private final java.util.Collection<? extends T> start
-
visited
private final java.util.Set<T> visited
-
callee
private final BinaryProcedure<T,GraphVisitor<T>> callee
-
pending
private final java.util.LinkedList<T> pending
-
enqueued
private final java.util.LinkedList<T> enqueued
-
aborted
private boolean aborted
-
-
Constructor Detail
-
GraphVisitorDFS
public GraphVisitorDFS(T first, BinaryProcedure<T,GraphVisitor<T>> callee)
-
GraphVisitorDFS
public GraphVisitorDFS(java.util.Collection<? extends T> first, BinaryProcedure<T,GraphVisitor<T>> callee)
-
-
Method Detail
-
enqueue
public void enqueue(T next)
- Specified by:
enqueue
in interfaceGraphVisitor<T>
-
enqueue
public void enqueue(java.util.Collection<? extends T> next)
- Specified by:
enqueue
in interfaceGraphVisitor<T>
-
abort
public void abort()
- Specified by:
abort
in interfaceGraphVisitor<T>
-
wasAborted
public boolean wasAborted()
- Specified by:
wasAborted
in interfaceGraphVisitor<T>
-
getVisitedNodes
public java.util.Collection<T> getVisitedNodes()
- Specified by:
getVisitedNodes
in interfaceGraphVisitor<T>
-
process
public void process()
- Specified by:
process
in interfaceGraphVisitor<T>
-
-