Package com.ibm.wala.util.graph
Interface Graph<T>
- Type Parameters:
T- the type of nodes in this graph.
- All Superinterfaces:
EdgeManager<T>,Iterable<T>,NodeManager<T>
- All Known Subinterfaces:
LabeledGraph<T,,U> NumberedGraph<T>,NumberedLabeledGraph<T,,I> OrderedMultiGraph<T>
- All Known Implementing Classes:
AbstractGraph,AbstractLabeledGraph,AbstractNumberedGraph,AbstractNumberedLabeledGraph,BasicOrderedMultiGraph,DelegatingGraph,DelegatingNumberedGraph,EdgeFilteredNumberedGraph,ExtensionGraph,InvertedGraph,InvertedNumberedGraph,SelfLoopAddedGraph,SlowSparseNumberedGraph,SlowSparseNumberedLabeledGraph,SparseNumberedGraph
Basic interface for a directed graph.
We choose to define a
Graph as a composition of a NodeManager and an EdgeManager, which
track nodes and edges, respectively. This way, in many cases we can compose separate NodeManager and
EdgeManager implementations to create Graph implementations, using delegation.-
Method Summary
Modifier and TypeMethodDescriptionvoidremove a node and all its incident edgesMethods inherited from interface com.ibm.wala.util.graph.EdgeManager
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdgesMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface com.ibm.wala.util.graph.NodeManager
addNode, containsNode, getNumberOfNodes, iterator, removeNode
-
Method Details
-
removeNodeAndEdges
remove a node and all its incident edges- Throws:
UnsupportedOperationException- if the graph implementation does not allow removal
-