Package com.ibm.wala.util.graph.traverse
Class NumberedDFSDiscoverTimeIterator<T>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.Vector<E>
-
- java.util.Stack<T>
-
- com.ibm.wala.util.graph.traverse.DFSDiscoverTimeIterator<T>
-
- com.ibm.wala.util.graph.traverse.NumberedDFSDiscoverTimeIterator<T>
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<T>
,Collection<T>
,Iterator<T>
,List<T>
,RandomAccess
public class NumberedDFSDiscoverTimeIterator<T> extends DFSDiscoverTimeIterator<T> implements Iterator<T>
This class implements depth-first search over a NumberedGraph, 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 protected NumberedGraph<T>
G
The Graph being traversed-
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description NumberedDFSDiscoverTimeIterator(NumberedGraph<T> G)
Constructor DFSFinishTimeIterator.NumberedDFSDiscoverTimeIterator(NumberedGraph<T> G, Iterator<? extends T> nodes)
Construct a depth-first enumerator across the (possibly improper) subset of nodes reachable from the nodes in the given enumeration.NumberedDFSDiscoverTimeIterator(NumberedGraph<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 Iterator<? extends T>
getPendingChildren(T n)
Method getPendingChildren.protected void
init(Graph<T> G, Iterator<? extends T> nodes)
protected void
setPendingChildren(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.Vector
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, retainAll, set, setElementAt, setSize, size, sort, spliterator, subList, toArray, toArray, toString, trimToSize
-
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, hasNext, next, remove
-
-
-
-
Field Detail
-
G
protected final NumberedGraph<T> G
The Graph being traversed
-
-
Constructor Detail
-
NumberedDFSDiscoverTimeIterator
public NumberedDFSDiscoverTimeIterator(NumberedGraph<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- Throws:
IllegalArgumentException
- if G is null
-
NumberedDFSDiscoverTimeIterator
public NumberedDFSDiscoverTimeIterator(NumberedGraph<T> G, Iterator<? extends T> nodes) throws IllegalArgumentException
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- Throws:
IllegalArgumentException
- if G is nullIllegalArgumentException
- if nodes == null
-
NumberedDFSDiscoverTimeIterator
public NumberedDFSDiscoverTimeIterator(NumberedGraph<T> G) throws NullPointerException
Constructor DFSFinishTimeIterator.- Parameters:
G
-- Throws:
NullPointerException
- if G is null
-
-
Method Detail
-
getPendingChildren
protected Iterator<? extends T> getPendingChildren(T n)
Method getPendingChildren.- Specified by:
getPendingChildren
in classDFSDiscoverTimeIterator<T>
- Returns:
- Object
-
setPendingChildren
protected void setPendingChildren(T v, Iterator<? extends T> iterator)
Method setPendingChildren.- Specified by:
setPendingChildren
in classDFSDiscoverTimeIterator<T>
- Parameters:
v
-iterator
-
-
getConnected
protected Iterator<? extends T> getConnected(T n)
Description copied from class:DFSDiscoverTimeIterator
get the out edges of a given node- Specified by:
getConnected
in classDFSDiscoverTimeIterator<T>
- Parameters:
n
- the node of which to get the out edges- Returns:
- the out edges
-
-