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

All Known Subinterfaces:
AbstractAnalysis, CallGraph, ControlFlowGraph, EObjectGraph, Graph<T>, ISDG, ISupergraph<T,P>, NumberedEdgeManager<T>, NumberedGraph<T>, OrderedMultiGraph<T>
All Known Implementing Classes:
AbstractCFG, AbstractGraph, AbstractNumberedGraph, AstCallGraph, AstInducedCFG, AstJavaSSAPropagationCallGraphBuilder.AstJavaPointerFlowGraph, AstSSAPropagationCallGraphBuilder.AstPointerFlowGraph, AstTranslator.AstCFG, AstTranslator.IncipientCFG, BackwardsSupergraph, BasicCallGraph, BasicHeapGraph, BasicOrderedMultiGraph, BVControlDependenceGraph, ControlDependenceGraph, DelegatingCFG, DelegatingExplicitCallGraph, DelegatingGraph, DelegatingNumberedEdgeManager, DelegatingNumberedGraph, ECallGraphWrapper, EClassHierarchyWrapper, EInterfaceHierarchyWrapper, EObjectGraphImpl, EObjectTree, ExpandedControlFlowGraph, ExplicitCallGraph, ExplicitCallGraph.ExplicitEdgeManager, ExplodedSupergraph, ExplodedSupergraphWithSummaryEdges, HeapGraph, InducedCFG, InterproceduralCFG, InvertedGraph, InvertedNumberedGraph, InvertingEdgeManager, InvertingNumberedEdgeManager, JSCallGraph, JSInducedCFG, JSSSAPropagationCallGraphBuilder.JSPointerFlowGraph, PartiallyCollapsedSupergraph, PDG, PointerFlowGraph, PrunedCFG, PrunedCFG, SDG, SDGView, ShrikeCFG, SlowSparseNumberedGraph, SparseNumberedEdgeManager, SparseNumberedGraph, SSACFG, TwoExitCFG

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 this Node in the Graph.
 java.util.Iterator<? extends T> getPredNodes(T N)
          Return an Iterator over the immediate predecessor nodes of this Node in the Graph.
 int getSuccNodeCount(T N)
          Return the number of immediate successor nodes of this Node in the Graph
 java.util.Iterator<? extends T> getSuccNodes(T N)
          Return an Iterator over the immediate successor nodes of this Node in the Graph
 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<? extends T> getPredNodes(T N)
Return an Iterator over the immediate predecessor nodes of this Node in the Graph. 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 this Node in the Graph.

Returns:
the number of immediate predecessor Nodes of this Node in the Graph.

getSuccNodes

java.util.Iterator<? extends T> getSuccNodes(T N)
Return an Iterator over the immediate successor nodes of this Node in the Graph

This method never returns null.

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

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)