org.jgrapht.experimental.dag

## Class DirectedAcyclicGraph.VisitedHashSetImpl

- java.lang.Object
- - org.jgrapht.experimental.dag.DirectedAcyclicGraph.VisitedHashSetImpl

- All Implemented Interfaces:
    Serializable, DirectedAcyclicGraph.Visited, DirectedAcyclicGraph.VisitedFactory
  Enclosing class:
    DirectedAcyclicGraph<V,E>

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

  This implementation doesn't seem to perform as well, though I can imagine circumstances where it should shine (lots and lots of vertices). It also should have the lowest memory footprint as it only uses storage for indices that have been visited.
  Author:
    gilesp
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DirectedAcyclicGraph.VisitedHashSetImpl()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.VisitedHashSetImpl

          public DirectedAcyclicGraph.VisitedHashSetImpl()

  - ### 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 © 2016. All rights reserved.