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

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

public interface NodeManager<T>
extends java.lang.Iterable<T>

An object which tracks graph nodes.


Method Summary
 void addNode(T n)
          add a node to this graph
 boolean containsNode(T N)
           
 int getNumberOfNodes()
           
 java.util.Iterator<T> iterator()
           
 void removeNode(T n)
          remove a node from this graph
 

Method Detail

iterator

java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>
Returns:
an Iterator of the nodes in this graph

getNumberOfNodes

int getNumberOfNodes()
Returns:
the number of nodes in this graph

addNode

void addNode(T n)
add a node to this graph

Parameters:
n -

removeNode

void removeNode(T n)
remove a node from this graph

Parameters:
n -

containsNode

boolean containsNode(T N)
Parameters:
N -
Returns:
true iff the graph contains the specified node