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>,SerializableGraph<T>
- All Known Implementing Classes:
AbstractGraph,AbstractLabeledGraph,AbstractNumberedGraph,AbstractNumberedLabeledGraph,BasicGraph,BasicOrderedMultiGraph,DelegatingGraph,DelegatingNumberedGraph,EdgeFilteredNumberedGraph,ExtensionGraph,InvertedGraph,InvertedNumberedGraph,RandomGraph,RandomGraph.IntegerRandomGraph,SelfLoopAddedGraph,SlowSparseNumberedGraph,SlowSparseNumberedLabeledGraph,SparseNumberedGraph
public interface Graph<T> extends NodeManager<T>, EdgeManager<T>
Basic interface for a directed graph.We choose to define a
Graphas a composition of aNodeManagerand anEdgeManager, which track nodes and edges, respectively. This way, in many cases we can compose separateNodeManagerandEdgeManagerimplementations to createGraphimplementations, using delegation.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidremoveNodeAndEdges(T n)remove a node and all its incident edges-
Methods inherited from interface com.ibm.wala.util.graph.EdgeManager
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface com.ibm.wala.util.graph.NodeManager
addNode, containsNode, getNumberOfNodes, iterator, removeNode, stream
-
-
-
-
Method Detail
-
removeNodeAndEdges
void removeNodeAndEdges(T n) throws UnsupportedOperationException
remove a node and all its incident edges- Throws:
UnsupportedOperationException- if the graph implementation does not allow removal
-
-