com.ibm.wala.util.graph
Interface EdgeManager<T>

Type Parameters:
T - the type of node in the graph
All Known Subinterfaces:
CallGraph, ControlFlowGraph<I,T>, Graph<T>, IFlowGraph, ISDG, ISupergraph<T,P>, LabeledEdgeManager<T,U>, LabeledGraph<T,U>, NumberedEdgeManager<T>, NumberedGraph<T>, NumberedLabeledEdgeManager<T,U>, OrderedMultiGraph<T>
All Known Implementing Classes:
AbstractCFG, AbstractDemandFlowGraph, AbstractFlowGraph, AbstractGraph, AbstractInterproceduralCFG, AbstractLabeledGraph, AbstractNumberedGraph, AbstractNumberedLabeledGraph, AstCallGraph, AstInducedCFG, AstTranslator.AstCFG, AstTranslator.IncipientCFG, BackwardsSupergraph, BasicCallGraph, BasicHeapGraph, BasicOrderedMultiGraph, CISDG, ControlDependenceGraph, CrossLanguageCallGraph, DelegatingCFG, DelegatingExplicitCallGraph, DelegatingGraph, DelegatingNumberedEdgeManager, DelegatingNumberedGraph, DemandPointerFlowGraph, DemandValueFlowGraph, ExplicitCallGraph, ExplicitCallGraph.ExplicitEdgeManager, ExplodedControlFlowGraph, ExplodedInterproceduralCFG, HeapGraph, ICFGSupergraph, InducedCFG, InterproceduralCFG, InvertedGraph, InvertedNumberedGraph, InvertingEdgeManager, InvertingNumberedEdgeManager, JSCallGraph, JSInducedCFG, PartialCallGraph, PDG, PrunedCFG, SDG, ShrikeCFG, SimpleDemandPointerFlowGraph, SlowSparseNumberedGraph, SlowSparseNumberedLabeledGraph, SparseNumberedEdgeManager, SparseNumberedGraph, SparseNumberedLabeledEdgeManager, SSACFG

public interface EdgeManager<T>

An object which manages edges in a directed graph.


Method Summary
 void addEdge(T src, T dst)
           
 int getPredNodeCount(T n)
          Return the number of immediate predecessor nodes of n
 java.util.Iterator<T> getPredNodes(T n)
          Return an Iterator over the immediate predecessor nodes of n This method never returns null.
 int getSuccNodeCount(T N)
          Return the number of immediate successor nodes of this Node in the Graph
 java.util.Iterator<T> getSuccNodes(T n)
          Return an Iterator over the immediate successor nodes of n
 boolean hasEdge(T src, T dst)
           
 void removeAllIncidentEdges(T node)
           
 void removeEdge(T src, T dst)
           
 void removeIncomingEdges(T node)
           
 void removeOutgoingEdges(T node)
           
 

Method Detail

getPredNodes

java.util.Iterator<T> getPredNodes(T n)
Return an Iterator over the immediate predecessor nodes of n This method never returns null.

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

getPredNodeCount

int getPredNodeCount(T n)
Return the number of immediate predecessor nodes of n

Returns:
the number of immediate predecessors of n.

getSuccNodes

java.util.Iterator<T> getSuccNodes(T n)
Return an Iterator over the immediate successor nodes of n

This method never returns null.

Returns:
an Iterator over the immediate successor nodes of n

getSuccNodeCount

int getSuccNodeCount(T N)
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)

removeEdge

void removeEdge(T src,
                T dst)
                throws java.lang.UnsupportedOperationException
Throws:
java.lang.UnsupportedOperationException

removeAllIncidentEdges

void removeAllIncidentEdges(T node)
                            throws java.lang.UnsupportedOperationException
Throws:
java.lang.UnsupportedOperationException

removeIncomingEdges

void removeIncomingEdges(T node)
                         throws java.lang.UnsupportedOperationException
Throws:
java.lang.UnsupportedOperationException

removeOutgoingEdges

void removeOutgoingEdges(T node)
                         throws java.lang.UnsupportedOperationException
Throws:
java.lang.UnsupportedOperationException

hasEdge

boolean hasEdge(T src,
                T dst)