Class MethodDependencyGraph

java.lang.Object
org.jgrapht.graph.AbstractGraph<V,E>
org.jgrapht.graph.AbstractBaseGraph<V,E>
org.jgrapht.graph.DirectedPseudograph<V,E>
org.jgrapht.graph.DirectedWeightedPseudograph<Method,org.jgrapht.graph.DefaultWeightedEdge>
edu.university.ecs.lab.common.models.sdg.MethodDependencyGraph
All Implemented Interfaces:
DependencyGraphI<Method,org.jgrapht.graph.DefaultWeightedEdge>, JsonSerializable, Serializable, Cloneable, org.jgrapht.Graph<Method,org.jgrapht.graph.DefaultWeightedEdge>

public class MethodDependencyGraph extends org.jgrapht.graph.DirectedWeightedPseudograph<Method,org.jgrapht.graph.DefaultWeightedEdge> implements DependencyGraphI<Method,org.jgrapht.graph.DefaultWeightedEdge>
Represents a dependency graph for service methods
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Class to serialize an endpoint as a json object
    class 
    Class to serialize an endpoint as a json object
    static class 
    Class to serialize a method as a json object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final boolean
    Whether the edges are interpreted as directed
    private final String
    Represents the name of the graph
    private final boolean
    Whether several edges between source and target are allowed
    private final String
    The timestamp of the current Network graph (i.e.

    Fields inherited from interface org.jgrapht.Graph

    DEFAULT_EDGE_WEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a new method dependency graph from a given microservice system
  • Method Summary

    Modifier and Type
    Method
    Description
    private void
    addUpdateEdge(Method source, Method target)
    Method to add and edge or update its weight if it already exists
    com.google.gson.JsonObject

    Methods inherited from class org.jgrapht.graph.DirectedWeightedPseudograph

    createBuilder, createBuilder

    Methods inherited from class org.jgrapht.graph.AbstractBaseGraph

    addEdge, addEdge, addVertex, addVertex, clone, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, incomingEdgesOf, inDegreeOf, iterables, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, setEdgeSupplier, setEdgeWeight, setVertexSupplier, vertexSet

    Methods inherited from class org.jgrapht.graph.AbstractGraph

    assertVertexExist, containsEdge, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toString, toStringFromSets

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface edu.university.ecs.lab.common.models.sdg.DependencyGraphI

    getAdjacency, getAdjacency, getLabel, getTimestamp, isDirected, isMultigraph

    Methods inherited from interface org.jgrapht.Graph

    addEdge, addEdge, addVertex, addVertex, containsEdge, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeSource, getEdgeSupplier, getEdgeTarget, getEdgeWeight, getType, getVertexSupplier, incomingEdgesOf, inDegreeOf, iterables, outDegreeOf, outgoingEdgesOf, removeAllEdges, removeAllEdges, removeAllVertices, removeEdge, removeEdge, removeVertex, setEdgeWeight, setEdgeWeight, vertexSet
  • Field Details

    • label

      private final String label
      Represents the name of the graph
    • timestamp

      private final String timestamp
      The timestamp of the current Network graph (i.e. the commit ID that the Network graph represents)
    • directed

      private final boolean directed
      Whether the edges are interpreted as directed
      See Also:
    • multigraph

      private final boolean multigraph
      Whether several edges between source and target are allowed
      See Also:
  • Constructor Details

    • MethodDependencyGraph

      public MethodDependencyGraph(MicroserviceSystem microserviceSystem)
      Create a new method dependency graph from a given microservice system
      Parameters:
      microserviceSystem - microservice system from which to derive method dependency graph
  • Method Details