Package com.ibm.wala.util.graph.traverse
Class SlowDFSDiscoverTimeIterator<T>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList<T>
-
- com.ibm.wala.util.graph.traverse.DFSDiscoverTimeIterator<T>
-
- com.ibm.wala.util.graph.traverse.SlowDFSDiscoverTimeIterator<T>
-
- All Implemented Interfaces:
Serializable,Cloneable,Iterable<T>,Collection<T>,Iterator<T>,List<T>,RandomAccess
public class SlowDFSDiscoverTimeIterator<T> extends DFSDiscoverTimeIterator<T>
This class implements depth-first search over a Graph, return an enumeration of the nodes of the graph in order of increasing discover time. This class follows the outNodes of the graph nodes to define the graph, but this behavior can be changed by overriding the getConnected method.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static longserialVersionUID-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedSlowDFSDiscoverTimeIterator()For use with extreme care by subclasses that know what they're doing.SlowDFSDiscoverTimeIterator(Graph<T> G)Constructor SlowDFSDiscoverTimeIterator.SlowDFSDiscoverTimeIterator(Graph<T> G, Iterator<T> nodes)Construct a depth-first enumerator across the (possibly improper) subset of nodes reachable from the nodes in the given enumeration.SlowDFSDiscoverTimeIterator(Graph<T> G, T N)Construct a depth-first enumerator starting with a particular node in a directed graph.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Iterator<? extends T>getConnected(T n)get the out edges of a given nodeprotected @Nullable Iterator<? extends T>getPendingChildren(Object n)protected voidinit(Graph<T> G, Iterator<? extends T> nodes)protected voidsetPendingChildren(T v, Iterator<? extends T> iterator)Method setPendingChildren.-
Methods inherited from class com.ibm.wala.util.graph.traverse.DFSDiscoverTimeIterator
hasNext, init, init, next, remove, visitEdge
-
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
-
Methods inherited from class java.util.AbstractCollection
containsAll, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Methods inherited from interface java.util.List
containsAll
-
-
-
-
Field Detail
-
serialVersionUID
public static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SlowDFSDiscoverTimeIterator
protected SlowDFSDiscoverTimeIterator()
For use with extreme care by subclasses that know what they're doing.
-
SlowDFSDiscoverTimeIterator
public SlowDFSDiscoverTimeIterator(Graph<T> G, T N)
Construct a depth-first enumerator starting with a particular node in a directed graph.- Parameters:
G- the graph whose nodes to enumerate
-
SlowDFSDiscoverTimeIterator
public SlowDFSDiscoverTimeIterator(Graph<T> G, Iterator<T> nodes)
Construct a depth-first enumerator across the (possibly improper) subset of nodes reachable from the nodes in the given enumeration.- Parameters:
G- the graph whose nodes to enumeratenodes- the set of nodes from which to start searching
-
SlowDFSDiscoverTimeIterator
public SlowDFSDiscoverTimeIterator(Graph<T> G) throws NullPointerException
Constructor SlowDFSDiscoverTimeIterator.- Throws:
NullPointerException- if G is null
-
-
Method Detail
-
getPendingChildren
protected @Nullable Iterator<? extends T> getPendingChildren(Object n)
- Specified by:
getPendingChildrenin classDFSDiscoverTimeIterator<T>
-
setPendingChildren
protected void setPendingChildren(T v, Iterator<? extends T> iterator)
Method setPendingChildren.- Specified by:
setPendingChildrenin classDFSDiscoverTimeIterator<T>
-
getConnected
@NullUnmarked protected Iterator<? extends T> getConnected(T n)
Description copied from class:DFSDiscoverTimeIteratorget the out edges of a given node- Specified by:
getConnectedin classDFSDiscoverTimeIterator<T>- Parameters:
n- the node of which to get the out edges- Returns:
- the out edges
-
-