Class DirectedGraph<T extends ExplicitVertexID>

java.lang.Object
org.jruby.dirgra.DirectedGraph<T>

public class DirectedGraph<T extends ExplicitVertexID> extends Object
  • Constructor Details

    • DirectedGraph

      public DirectedGraph()
  • Method Details

    • growEdges

      protected Edge<T>[] growEdges(Edge<T>[] array, int realLength)
    • getEdges

      protected Edge<T>[] getEdges()
    • addEdge

      protected Edge<T> addEdge(Edge<T> newEdge)
    • removeEdge

      public void removeEdge(Edge<T> edge)
    • vertices

      public Collection<Vertex<T>> vertices()
    • edges

      public Collection<Edge<T>> edges()
    • edgesOfType

      public Iterable<Edge<T>> edgesOfType(Object type)
    • allData

      public Collection<T> allData()
    • getInorderData

      public Collection<T> getInorderData()
      Returns:
      data in the order it was added to this graph.
    • addEdge

      public void addEdge(T source, T destination, Object type)
    • removeEdge

      public void removeEdge(T source, T destination)
    • findVertexFor

      public Vertex<T> findVertexFor(T data)
    • findOrCreateVertexFor

      public Vertex<T> findOrCreateVertexFor(T data)
      Returns:
      vertex for given data. If vertex is not present it creates vertex and returns it.
    • removeVertexFor

      public void removeVertexFor(T data)
    • size

      public int size()
      Returns:
      the number of vertices in the graph.
    • toString

      public String toString()
      Overrides:
      toString in class Object