Class BasicGraphTraversal

Object
BasicGraphTraversal
All Implemented Interfaces:
GraphTraversal
Direct Known Subclasses:
StagedGraphTraversal

public class BasicGraphTraversal extends Object implements GraphTraversal
A basic implementation of GraphTraversal.
Author:
Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
  • Constructor Details

    • BasicGraphTraversal

      public BasicGraphTraversal(Graph graph, GraphWalker walker, GraphIterator iterator)
      Constructs a new graph traversal.
      Parameters:
      graph - The graph being traversed.
      walker - The walker being traversed over the components of the graph.
      iterator - The iterator specifying the order in which to visit components of the graph.
  • Method Details

    • setGraph

      public void setGraph(Graph graph)
      Description copied from interface: GraphTraversal
      Sets the graph being traversed.
      Specified by:
      setGraph in interface GraphTraversal
      Parameters:
      graph - The graph whose components are being traversed.
      See Also:
    • getGraph

      public Graph getGraph()
      Description copied from interface: GraphTraversal
      Returns the graph being traversed.
      Specified by:
      getGraph in interface GraphTraversal
      Returns:
      The graph whose components are being traversed.
      See Also:
    • setIterator

      public void setIterator(GraphIterator iterator)
      Sets the iterator and intializes it.
      Specified by:
      setIterator in interface GraphTraversal
      Parameters:
      iterator - The iterator over the graph components.
      See Also:
    • getIterator

      public GraphIterator getIterator()
      Description copied from interface: GraphTraversal
      Returns the iterator that specifies the order in which to visit graph components.
      Specified by:
      getIterator in interface GraphTraversal
      Returns:
      The iterator over the graph components.
      See Also:
    • setWalker

      public void setWalker(GraphWalker walker)
      Description copied from interface: GraphTraversal
      Sets the walker (visitor) traversing the graph.
      Specified by:
      setWalker in interface GraphTraversal
      Parameters:
      walker - The walker being iterated over the components of the graph.
      See Also:
    • getWalker

      public GraphWalker getWalker()
      Description copied from interface: GraphTraversal
      Returns the walker (visitor) traversing the graph of the graph.
      Specified by:
      getWalker in interface GraphTraversal
      Returns:
      The walker being iterated over the components.
      See Also:
    • init

      public void init()
      Resets the visited flag and counts of all nodes of the graph.
      Specified by:
      init in interface GraphTraversal
      See Also:
    • traverse

      public void traverse()
      Upon each iteration of the traversal, a component is returned from the iterator and passed to the visitor. The traversal interprets the return codes from the walker and performs the following actions.

      Code Action Performed
      CONTINUE The traversal instructs the iterator to continue and starts the next stage of iteration.
      SUSPEND The traversal instructs the iterator to continue but does not start the next stage of iteration, returning from traverse().
      KILL_BRANCH The traversal instructs the iterator to kill the current branch and starts the next stage of iteration.
      STOP The traversal does not instruct the iterator to continue and does not start the next of iteration, returning from traverse()
      Specified by:
      traverse in interface GraphTraversal
      See Also:
    • setVisited

      public void setVisited(Graphable g, boolean visited)
      Specified by:
      setVisited in interface GraphTraversal
    • isVisited

      public boolean isVisited(Graphable g)
      Specified by:
      isVisited in interface GraphTraversal