<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (version 1.7.0_79) on Sun Apr 03 00:28:31 PDT 2016 --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>TopologicalOrderIterator (JGraphT : a free Java graph library)</title> <meta name="date" content="2016-04-03"> <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> </head> <body> <script type="text/javascript"><!-- if (location.href.indexOf('is-external=true') == -1) { parent.document.title="TopologicalOrderIterator (JGraphT : a free Java graph library)"; } //--> </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar_top"> <!-- --> </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/TopologicalOrderIterator.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../index-all.html">Index</a></li> <li><a href="../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../org/jgrapht/traverse/GraphIterator.html" title="interface in org.jgrapht.traverse"><span class="strong">Prev Class</span></a></li> <li>Next Class</li> </ul> <ul class="navList"> <li><a href="../../../index.html?org/jgrapht/traverse/TopologicalOrderIterator.html" target="_top">Frames</a></li> <li><a href="TopologicalOrderIterator.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li><a href="#nested_classes_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator">Nested</a> | </li> <li><a href="#fields_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator">Field</a> | </li> <li><a href="#constructor_summary">Constr</a> | </li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor_detail">Constr</a> | </li> <li><a href="#method_detail">Method</a></li> </ul> </div> <a name="skip-navbar_top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">org.jgrapht.traverse</div> <h2 title="Class TopologicalOrderIterator" class="title">Class TopologicalOrderIterator<V,E></h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li> <li> <ul class="inheritance"> <li><a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html" title="class in org.jgrapht.traverse">org.jgrapht.traverse.AbstractGraphIterator</a><V,E></li> <li> <ul class="inheritance"> <li><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">org.jgrapht.traverse.CrossComponentIterator</a><V,E,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>></li> <li> <ul class="inheritance"> <li>org.jgrapht.traverse.TopologicalOrderIterator<V,E></li> </ul> </li> </ul> </li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>All Implemented Interfaces:</dt> <dd><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><V>, <a href="../../../org/jgrapht/traverse/GraphIterator.html" title="interface in org.jgrapht.traverse">GraphIterator</a><V,E></dd> </dl> <hr> <br> <pre>public class <span class="strong">TopologicalOrderIterator<V,E></span> extends <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><V,E,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>></pre> <div class="block">Implements topological order traversal for a directed acyclic graph. A topological sort is a permutation <tt>p</tt> of the vertices of a graph such that an edge <tt>(i,j)</tt> implies that <tt>i</tt> appears before <tt>j</tt> in <tt>p</tt> (Skiena 1990, p. 208). See also <a href="http://mathworld.wolfram.com/TopologicalSort.html"> http://mathworld.wolfram.com/TopologicalSort.html</a>. <p>See "Algorithms in Java, Third Edition, Part 5: Graph Algorithms" by Robert Sedgewick and "Data Structures and Algorithms with Object-Oriented Design Patterns in Java" by Bruno R. Preiss for implementation alternatives. The latter can be found online at <a href="http://www.brpreiss.com/books/opus5/"> http://www.brpreiss.com/books/opus5/</a></p> <p>For this iterator to work correctly the graph must be acyclic, and must not be modified during iteration. Currently there are no means to ensure that, nor to fail-fast; the results with cyclic input (including self-loops) or concurrent modifications are undefined. To precheck a graph for cycles, consider using <a href="../../../org/jgrapht/alg/CycleDetector.html" title="class in org.jgrapht.alg"><code>CycleDetector</code></a> or <a href="../../../org/jgrapht/alg/KosarajuStrongConnectivityInspector.html" title="class in org.jgrapht.alg"><code>KosarajuStrongConnectivityInspector</code></a>.</p></div> <dl><dt><span class="strong">Since:</span></dt> <dd>Dec 18, 2004</dd> <dt><span class="strong">Author:</span></dt> <dd>Marden Neubert</dd></dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== NESTED CLASS SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="nested_class_summary"> <!-- --> </a> <h3>Nested Class Summary</h3> <ul class="blockList"> <li class="blockList"><a name="nested_classes_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator"> <!-- --> </a> <h3>Nested classes/interfaces inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a></h3> <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.VisitColor.html" title="enum in org.jgrapht.traverse">CrossComponentIterator.VisitColor</a></code></li> </ul> </li> </ul> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field_summary"> <!-- --> </a> <h3>Field Summary</h3> <ul class="blockList"> <li class="blockList"><a name="fields_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator"> <!-- --> </a> <h3>Fields inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html" title="class in org.jgrapht.traverse">AbstractGraphIterator</a></h3> <code><a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#nListeners">nListeners</a></code></li> </ul> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#TopologicalOrderIterator(org.jgrapht.DirectedGraph)">TopologicalOrderIterator</a></strong>(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg)</code> <div class="block">Creates a new topological order iterator over the directed graph specified, with arbitrary tie-breaking in case of partial order.</div> </td> </tr> <tr class="rowColor"> <td class="colOne"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#TopologicalOrderIterator(org.jgrapht.DirectedGraph,%20java.util.Queue)">TopologicalOrderIterator</a></strong>(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg, <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>> queue)</code> <div class="block">Creates a new topological order iterator over the directed graph specified, with a user-supplied queue implementation to allow customized control over tie-breaking in case of partial order.</div> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method_summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span>Methods</span><span class="tabEnd"> </span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>protected void</code></td> <td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#encounterVertex(V,%20E)">encounterVertex</a></strong>(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex, <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</code> <div class="block">Update data structures the first time we see a vertex.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected void</code></td> <td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#encounterVertexAgain(V,%20E)">encounterVertexAgain</a></strong>(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex, <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</code> <div class="block">Called whenever we re-encounter a vertex.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>protected boolean</code></td> <td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#isConnectedComponentExhausted()">isConnectedComponentExhausted</a></strong>()</code> <div class="block">Returns <tt>true</tt> if there are no more uniterated vertices in the currently iterated connected component; <tt>false</tt> otherwise.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>protected <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a></code></td> <td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#provideNextVertex()">provideNextVertex</a></strong>()</code> <div class="block">Returns the vertex to be returned in the following call to the iterator <code>next</code> method.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator"> <!-- --> </a> <h3>Methods inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a></h3> <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#finishVertex(V)">finishVertex</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#getGraph()">getGraph</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#getSeenData(V)">getSeenData</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#hasNext()">hasNext</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isSeenVertex(java.lang.Object)">isSeenVertex</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#next()">next</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#putSeenData(V,%20D)">putSeenData</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator"> <!-- --> </a> <h3>Methods inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html" title="class in org.jgrapht.traverse">AbstractGraphIterator</a></h3> <code><a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#addTraversalListener(org.jgrapht.event.TraversalListener)">addTraversalListener</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireConnectedComponentFinished(org.jgrapht.event.ConnectedComponentTraversalEvent)">fireConnectedComponentFinished</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireConnectedComponentStarted(org.jgrapht.event.ConnectedComponentTraversalEvent)">fireConnectedComponentStarted</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireEdgeTraversed(org.jgrapht.event.EdgeTraversalEvent)">fireEdgeTraversed</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireVertexFinished(org.jgrapht.event.VertexTraversalEvent)">fireVertexFinished</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireVertexTraversed(org.jgrapht.event.VertexTraversalEvent)">fireVertexTraversed</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#isCrossComponentTraversal()">isCrossComponentTraversal</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#isReuseEvents()">isReuseEvents</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#remove()">remove</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#removeTraversalListener(org.jgrapht.event.TraversalListener)">removeTraversalListener</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#setCrossComponentTraversal(boolean)">setCrossComponentTraversal</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#setReuseEvents(boolean)">setReuseEvents</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> <code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="TopologicalOrderIterator(org.jgrapht.DirectedGraph)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>TopologicalOrderIterator</h4> <pre>public TopologicalOrderIterator(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg)</pre> <div class="block">Creates a new topological order iterator over the directed graph specified, with arbitrary tie-breaking in case of partial order. Traversal will start at one of the graph's <i>sources</i>. See the definition of source at <a href="http://mathworld.wolfram.com/Source.html"> http://mathworld.wolfram.com/Source.html</a>.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>dg</code> - the directed graph to be iterated.</dd></dl> </li> </ul> <a name="TopologicalOrderIterator(org.jgrapht.DirectedGraph, java.util.Queue)"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>TopologicalOrderIterator</h4> <pre>public TopologicalOrderIterator(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg, <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>> queue)</pre> <div class="block">Creates a new topological order iterator over the directed graph specified, with a user-supplied queue implementation to allow customized control over tie-breaking in case of partial order. Traversal will start at one of the graph's <i>sources</i>. See the definition of source at <a href="http://mathworld.wolfram.com/Source.html"> http://mathworld.wolfram.com/Source.html</a>.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>dg</code> - the directed graph to be iterated.</dd><dd><code>queue</code> - queue to use for tie-break in case of partial order (e.g. a PriorityQueue can be used to break ties according to vertex priority); must be initially empty</dd></dl> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method_detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="isConnectedComponentExhausted()"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>isConnectedComponentExhausted</h4> <pre>protected boolean isConnectedComponentExhausted()</pre> <div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isConnectedComponentExhausted()">CrossComponentIterator</a></code></strong></div> <div class="block">Returns <tt>true</tt> if there are no more uniterated vertices in the currently iterated connected component; <tt>false</tt> otherwise.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isConnectedComponentExhausted()">isConnectedComponentExhausted</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>></code></dd> <dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if there are no more uniterated vertices in the currently iterated connected component; <tt>false</tt> otherwise.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isConnectedComponentExhausted()"><code>CrossComponentIterator.isConnectedComponentExhausted()</code></a></dd></dl> </li> </ul> <a name="encounterVertex(java.lang.Object,java.lang.Object)"> <!-- --> </a><a name="encounterVertex(V, E)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encounterVertex</h4> <pre>protected void encounterVertex(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex, <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</pre> <div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertex(V,%20E)">CrossComponentIterator</a></code></strong></div> <div class="block">Update data structures the first time we see a vertex.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertex(V,%20E)">encounterVertex</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>></code></dd> <dt><span class="strong">Parameters:</span></dt><dd><code>vertex</code> - the vertex encountered</dd><dd><code>edge</code> - the edge via which the vertex was encountered, or null if the vertex is a starting point</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertex(V,%20E)"><code>CrossComponentIterator.encounterVertex(Object, Object)</code></a></dd></dl> </li> </ul> <a name="encounterVertexAgain(java.lang.Object,java.lang.Object)"> <!-- --> </a><a name="encounterVertexAgain(V, E)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>encounterVertexAgain</h4> <pre>protected void encounterVertexAgain(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex, <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</pre> <div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertexAgain(V,%20E)">CrossComponentIterator</a></code></strong></div> <div class="block">Called whenever we re-encounter a vertex. The default implementation does nothing.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertexAgain(V,%20E)">encounterVertexAgain</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>></code></dd> <dt><span class="strong">Parameters:</span></dt><dd><code>vertex</code> - the vertex re-encountered</dd><dd><code>edge</code> - the edge via which the vertex was re-encountered</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertexAgain(V,%20E)"><code>CrossComponentIterator.encounterVertexAgain(Object, Object)</code></a></dd></dl> </li> </ul> <a name="provideNextVertex()"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>provideNextVertex</h4> <pre>protected <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> provideNextVertex()</pre> <div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#provideNextVertex()">CrossComponentIterator</a></code></strong></div> <div class="block">Returns the vertex to be returned in the following call to the iterator <code>next</code> method.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#provideNextVertex()">provideNextVertex</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>></code></dd> <dt><span class="strong">Returns:</span></dt><dd>the next vertex to be returned by this iterator.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#provideNextVertex()"><code>CrossComponentIterator.provideNextVertex()</code></a></dd></dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar_bottom"> <!-- --> </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/TopologicalOrderIterator.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../index-all.html">Index</a></li> <li><a href="../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../org/jgrapht/traverse/GraphIterator.html" title="interface in org.jgrapht.traverse"><span class="strong">Prev Class</span></a></li> <li>Next Class</li> </ul> <ul class="navList"> <li><a href="../../../index.html?org/jgrapht/traverse/TopologicalOrderIterator.html" target="_top">Frames</a></li> <li><a href="TopologicalOrderIterator.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li><a href="#nested_classes_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator">Nested</a> | </li> <li><a href="#fields_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator">Field</a> | </li> <li><a href="#constructor_summary">Constr</a> | </li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor_detail">Constr</a> | </li> <li><a href="#method_detail">Method</a></li> </ul> </div> <a name="skip-navbar_bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small>Copyright © 2016. All rights reserved.</small></p> </body> </html>