java.lang.Object
org.jgrapht.graph.DirectedAcyclicGraph.VisitedBitSetImpl
- All Implemented Interfaces:
Serializable,DirectedAcyclicGraph.VisitedStrategy,DirectedAcyclicGraph.VisitedStrategyFactory
- Enclosing class:
- DirectedAcyclicGraph<V,
E>
protected static class DirectedAcyclicGraph.VisitedBitSetImpl
extends Object
implements DirectedAcyclicGraph.VisitedStrategy, DirectedAcyclicGraph.VisitedStrategyFactory
A visited strategy which uses a
BitSet.
This implementation is close to the performance of DirectedAcyclicGraph.VisitedArrayListImpl, with 1/8 the
memory usage.
- Author:
- John V. Sichi
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclearVisited(int index) Clear the visited state of the given topological index.booleangetVisited(int index) Get if the given topological index has been visited.getVisitedStrategy(DirectedAcyclicGraph.Region affectedRegion) Create a new instance ofDirectedAcyclicGraph.VisitedStrategy.voidsetVisited(int index) Mark the given topological index as visited.
-
Constructor Details
-
VisitedBitSetImpl
public VisitedBitSetImpl()Constructor
-
-
Method Details
-
getVisitedStrategy
public DirectedAcyclicGraph.VisitedStrategy getVisitedStrategy(DirectedAcyclicGraph.Region affectedRegion) Description copied from interface:DirectedAcyclicGraph.VisitedStrategyFactoryCreate a new instance ofDirectedAcyclicGraph.VisitedStrategy.- Specified by:
getVisitedStrategyin interfaceDirectedAcyclicGraph.VisitedStrategyFactory- Parameters:
affectedRegion- the affected region- Returns:
- a new instance of
DirectedAcyclicGraph.VisitedStrategyfor the affected region
-
setVisited
public void setVisited(int index) Description copied from interface:DirectedAcyclicGraph.VisitedStrategyMark the given topological index as visited.- Specified by:
setVisitedin interfaceDirectedAcyclicGraph.VisitedStrategy- Parameters:
index- the topological index
-
getVisited
public boolean getVisited(int index) Description copied from interface:DirectedAcyclicGraph.VisitedStrategyGet if the given topological index has been visited.- Specified by:
getVisitedin interfaceDirectedAcyclicGraph.VisitedStrategy- Parameters:
index- the topological index- Returns:
- true if the given topological index has been visited, false otherwise
-
clearVisited
Description copied from interface:DirectedAcyclicGraph.VisitedStrategyClear the visited state of the given topological index.- Specified by:
clearVisitedin interfaceDirectedAcyclicGraph.VisitedStrategy- Parameters:
index- the index- Throws:
UnsupportedOperationException- if the implementation doesn't support (or doesn't need) clearance. For example, if the factory creates a new instance every time, it is a waste of cycles to reset the state after the search of the Affected Region is done, so an UnsupportedOperationException *should* be thrown.
-