Class GraphComponent

  • Direct Known Subclasses:
    DirectedEdge, Edge, Node

    public abstract class GraphComponent
    extends java.lang.Object
    The base class for all graph component classes. Maintains flags of use in generic graph algorithms. Provides two flags:
    • marked - typically this is used to indicate a state that persists for the course of the graph's lifetime. For instance, it can be used to indicate that a component has been logically deleted from the graph.
    • visited - this is used to indicate that a component has been processed or visited by an single graph algorithm. For instance, a breadth-first traversal of the graph might use this to indicate that a node has already been traversed. The visited flag may be set and cleared many times during the lifetime of a graph.

    Graph components support storing user context data. This will typically be used by client algorithms which use planar graphs.

    Version:
    1.7
    • Constructor Summary

      Constructors 
      Constructor Description
      GraphComponent()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static GraphComponent getComponentWithVisitedState​(java.util.Iterator i, boolean visitedState)
      Finds the first GraphComponent in a Iterator set which has the specified visited state.
      java.lang.Object getContext()
      Gets the user-defined data for this component.
      java.lang.Object getData()
      Gets the user-defined data for this component.
      boolean isMarked()
      Tests if a component has been marked at some point during the processing involving this graph.
      abstract boolean isRemoved()
      Tests whether this component has been removed from its containing graph
      boolean isVisited()
      Tests if a component has been visited during the course of a graph algorithm
      void setContext​(java.lang.Object data)
      Sets the user-defined data for this component.
      void setData​(java.lang.Object data)
      Sets the user-defined data for this component.
      void setMarked​(boolean isMarked)
      Sets the marked flag for this component.
      static void setMarked​(java.util.Iterator i, boolean marked)
      Sets the Marked state for all GraphComponents in an Iterator
      void setVisited​(boolean isVisited)
      Sets the visited flag for this component.
      static void setVisited​(java.util.Iterator i, boolean visited)
      Sets the Visited state for all GraphComponents in an Iterator
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GraphComponent

        public GraphComponent()
    • Method Detail

      • setVisited

        public static void setVisited​(java.util.Iterator i,
                                      boolean visited)
        Sets the Visited state for all GraphComponents in an Iterator
        Parameters:
        i - the Iterator to scan
        visited - the state to set the visited flag to
      • setMarked

        public static void setMarked​(java.util.Iterator i,
                                     boolean marked)
        Sets the Marked state for all GraphComponents in an Iterator
        Parameters:
        i - the Iterator to scan
        marked - the state to set the Marked flag to
      • getComponentWithVisitedState

        public static GraphComponent getComponentWithVisitedState​(java.util.Iterator i,
                                                                  boolean visitedState)
        Finds the first GraphComponent in a Iterator set which has the specified visited state.
        Parameters:
        i - an Iterator of GraphComponents
        visitedState - the visited state to test
        Returns:
        the first component found, or null if none found
      • isVisited

        public boolean isVisited()
        Tests if a component has been visited during the course of a graph algorithm
        Returns:
        true if the component has been visited
      • setVisited

        public void setVisited​(boolean isVisited)
        Sets the visited flag for this component.
        Parameters:
        isVisited - the desired value of the visited flag
      • isMarked

        public boolean isMarked()
        Tests if a component has been marked at some point during the processing involving this graph.
        Returns:
        true if the component has been marked
      • setMarked

        public void setMarked​(boolean isMarked)
        Sets the marked flag for this component.
        Parameters:
        isMarked - the desired value of the marked flag
      • setContext

        public void setContext​(java.lang.Object data)
        Sets the user-defined data for this component.
        Parameters:
        data - an Object containing user-defined data
      • getContext

        public java.lang.Object getContext()
        Gets the user-defined data for this component.
        Returns:
        the user-defined data
      • setData

        public void setData​(java.lang.Object data)
        Sets the user-defined data for this component.
        Parameters:
        data - an Object containing user-defined data
      • getData

        public java.lang.Object getData()
        Gets the user-defined data for this component.
        Returns:
        the user-defined data
      • isRemoved

        public abstract boolean isRemoved()
        Tests whether this component has been removed from its containing graph
        Returns:
        true if this component is removed