Interface LabeledEdgeManager<T,U>

Type Parameters:
T - type of nodes in this graph
U - types of edge labels.
All Superinterfaces:
EdgeManager<T>
All Known Subinterfaces:
IFlowGraph, LabeledGraph<T,U>, NumberedLabeledEdgeManager<T,U>, NumberedLabeledGraph<T,I>
All Known Implementing Classes:
AbstractDemandFlowGraph, AbstractFlowGraph, AbstractLabeledGraph, AbstractNumberedLabeledGraph, DemandPointerFlowGraph, DemandValueFlowGraph, PDG, SlowSparseNumberedLabeledGraph, SparseNumberedLabeledEdgeManager

public interface LabeledEdgeManager<T,U> extends EdgeManager<T>
An object which tracks labeled edges in a graph.
  • Method Details

    • getDefaultLabel

      @Nullable U getDefaultLabel()
      Sets the default object used as label for operations where no specific edge label is provided. This is due to compatibility with the EdgeManager interface
    • getPredNodes

      Iterator<T> getPredNodes(T N, U label)
      Return an Iterator over the immediate predecessor nodes of this Node in the Graph on edges with some label.

      This method never returns null.

      Returns:
      an Iterator over the immediate predecessor nodes of this Node.
    • getPredNodes

      default Iterator<T> getPredNodes(T N, Predicate<U> pred)
    • getPredLabels

      Iterator<? extends U> getPredLabels(T N)
      Returns:
      the labels on edges whose destination is N
    • getPredNodeCount

      int getPredNodeCount(T N, U label)
      Return the number of immediate predecessor nodes of this Node in the Graph on edges with some label.
      Returns:
      the number of immediate predecessor Nodes of this Node in the Graph.
    • getSuccNodes

      Iterator<? extends T> getSuccNodes(T N, U label)
      Return an Iterator over the immediate successor nodes of this Node in the Graph on edges with some label.

      This method never returns null.

      Returns:
      an Iterator over the immediate successor Nodes of this Node.
    • getSuccLabels

      Iterator<? extends U> getSuccLabels(T N)
      Returns:
      the labels on edges whose source is N
    • getSuccNodeCount

      int getSuccNodeCount(T N, U label)
      Return the number of immediate successor nodes of this Node in the Graph
      Returns:
      the number of immediate successor Nodes of this Node in the Graph.
    • addEdge

      void addEdge(T src, T dst, U label)
      adds an edge with some label
    • removeEdge

      void removeEdge(T src, T dst, U label) throws UnsupportedOperationException
      Throws:
      UnsupportedOperationException
    • hasEdge

      boolean hasEdge(T src, T dst, U label)
    • getEdgeLabels

      Set<? extends U> getEdgeLabels(T src, T dst)
      Returns a set of all labeled edges between node src and node dst
      Parameters:
      src - source node of the edge
      dst - target node of the edge
      Returns:
      Set of edge labels