Class DynamicGraph<T>


  • public class DynamicGraph<T>
    extends java.lang.Object
    Representation of the graph of methods.
    • Field Detail

      • m_nodesReady

        private final java.util.Collection<T> m_nodesReady
      • m_nodesRunning

        private final java.util.Collection<T> m_nodesRunning
      • m_nodesFinished

        private final java.util.Collection<T> m_nodesFinished
    • Constructor Detail

      • DynamicGraph

        public DynamicGraph()
    • Method Detail

      • addNode

        public boolean addNode​(T node)
        Add a node to the graph.
      • addEdge

        public void addEdge​(int weight,
                            T from,
                            T to)
        Parameters:
        weight - - Represents one of TestRunner.PriorityWeight ordinals indicating the weightage of a particular node in the graph
        from - - Represents the edge that depends on another edge.
        to - - Represents the edge on which another edge depends upon.
      • addEdge

        public void addEdge​(int weight,
                            T from,
                            T... tos)
        Add an edge between two nodes.
      • addEdge

        public void addEdge​(int weight,
                            T from,
                            java.lang.Iterable<T> tos)
        Add an edge between two nodes.
      • getFreeNodes

        public java.util.List<T> getFreeNodes()
        Returns:
        a set of all the nodes that don't depend on any other nodes.
      • getLowestEdgePriority

        private int getLowestEdgePriority​(java.util.Collection<T> nodes)
      • hasAllEdgesWithLevel

        private static <T> boolean hasAllEdgesWithLevel​(java.util.List<DynamicGraph.Edge<T>> edges,
                                                        int level)
      • getUnfinishedNodes

        private java.util.Collection<? extends T> getUnfinishedNodes​(T node)
        Returns:
        a list of all the nodes that have a status other than FINISHED.
      • setStatus

        public void setStatus​(java.util.Collection<T> nodes,
                              DynamicGraph.Status status)
        Set the status for a set of nodes.
      • setStatus

        public void setStatus​(T node,
                              DynamicGraph.Status status)
        Set the status for a node.
      • getNodeCount

        public int getNodeCount()
        Returns:
        the number of nodes in this graph.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getName

        private java.lang.String getName​(T t)
      • toDot

        public java.lang.String toDot()
        Returns:
        a .dot file (GraphViz) version of this graph.