org.jgrapht.experimental.dag
Class DirectedAcyclicGraph.VisitedArrayImpl

java.lang.Object
  extended by org.jgrapht.experimental.dag.DirectedAcyclicGraph.VisitedArrayImpl
All Implemented Interfaces:
Serializable, DirectedAcyclicGraph.Visited, DirectedAcyclicGraph.VisitedFactory
Enclosing class:
DirectedAcyclicGraph<V,E>

public static class DirectedAcyclicGraph.VisitedArrayImpl
extends Object
implements DirectedAcyclicGraph.Visited, DirectedAcyclicGraph.VisitedFactory

This implementation, somewhat to my surprise, is slower than the ArrayList version, probably due to its reallocation of the underlying array for every topology reorder that is required.

Author:
gilesp
See Also:
Serialized Form

Constructor Summary
DirectedAcyclicGraph.VisitedArrayImpl()
          Constructs empty factory instance
DirectedAcyclicGraph.VisitedArrayImpl(DirectedAcyclicGraph.Region region)
           
 
Method Summary
 void clearVisited(int index)
          Clear the visited state of the given topological index
 DirectedAcyclicGraph.Visited getInstance(DirectedAcyclicGraph.Region affectedRegion)
           
 boolean getVisited(int index)
          has the given topological index been visited?
 void setVisited(int index)
          mark the given topological index as visited
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DirectedAcyclicGraph.VisitedArrayImpl

public DirectedAcyclicGraph.VisitedArrayImpl()
Constructs empty factory instance


DirectedAcyclicGraph.VisitedArrayImpl

public DirectedAcyclicGraph.VisitedArrayImpl(DirectedAcyclicGraph.Region region)
Method Detail

getInstance

public DirectedAcyclicGraph.Visited getInstance(DirectedAcyclicGraph.Region affectedRegion)
Specified by:
getInstance in interface DirectedAcyclicGraph.VisitedFactory

setVisited

public void setVisited(int index)
Description copied from interface: DirectedAcyclicGraph.Visited
mark the given topological index as visited

Specified by:
setVisited in interface DirectedAcyclicGraph.Visited
Parameters:
index - the topological index

getVisited

public boolean getVisited(int index)
Description copied from interface: DirectedAcyclicGraph.Visited
has the given topological index been visited?

Specified by:
getVisited in interface DirectedAcyclicGraph.Visited
Parameters:
index - the topological index

clearVisited

public void clearVisited(int index)
                  throws UnsupportedOperationException
Description copied from interface: DirectedAcyclicGraph.Visited
Clear the visited state of the given topological index

Specified by:
clearVisited in interface DirectedAcyclicGraph.Visited
Throws:
UnsupportedOperationException - if the implementation doesn't support (or doesn't need) clearance. For example, if the factory vends a new instance every time, it is a waste of cycles to clear the state after the search of the Affected Region is done, so an UnsupportedOperationException *should* be thrown.


Copyright © 2013. All rights reserved.