Package com.ibm.wala.util.graph
Class AbstractNumberedGraph<T>
- java.lang.Object
-
- com.ibm.wala.util.graph.AbstractGraph<T>
-
- com.ibm.wala.util.graph.AbstractNumberedGraph<T>
-
- All Implemented Interfaces:
EdgeManager<T>,Graph<T>,NodeManager<T>,NumberedEdgeManager<T>,NumberedGraph<T>,NumberedNodeManager<T>,Iterable<T>
- Direct Known Subclasses:
AbstractNumberedLabeledGraph,DelegatingNumberedGraph,EdgeFilteredNumberedGraph,InvertedNumberedGraph,SlowSparseNumberedGraph,SparseNumberedGraph
public abstract class AbstractNumberedGraph<T> extends AbstractGraph<T> implements NumberedGraph<T>
Basic functionality for a graph that delegates node and edge management, and tracks node numbers
-
-
Constructor Summary
Constructors Constructor Description AbstractNumberedGraph()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract NumberedEdgeManager<T>getEdgeManager()intgetMaxNumber()TgetNode(int number)protected abstract NumberedNodeManager<T>getNodeManager()intgetNumber(@Nullable T N)IntSetgetPredNodeNumbers(@Nullable T node)IntSetgetSuccNodeNumbers(@Nullable T node)Iterator<T>iterateNodes(IntSet s)-
Methods inherited from class com.ibm.wala.util.graph.AbstractGraph
addEdge, addNode, containsNode, edgeString, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, nodeString, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, stream, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.ibm.wala.util.graph.EdgeManager
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
-
Methods inherited from interface com.ibm.wala.util.graph.Graph
removeNodeAndEdges
-
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
-
getNodeManager
protected abstract NumberedNodeManager<T> getNodeManager()
- Specified by:
getNodeManagerin classAbstractGraph<T>- Returns:
- the object which manages nodes in the graph
-
getEdgeManager
protected abstract NumberedEdgeManager<T> getEdgeManager()
- Specified by:
getEdgeManagerin classAbstractGraph<T>- Returns:
- the object which manages edges in the graph
-
getMaxNumber
public int getMaxNumber()
- Specified by:
getMaxNumberin interfaceNumberedNodeManager<T>- See Also:
NumberedNodeManager.getMaxNumber()
-
getNode
public T getNode(int number)
- Specified by:
getNodein interfaceNumberedNodeManager<T>- See Also:
NumberedNodeManager.getNode(int)
-
getNumber
public int getNumber(@Nullable T N)
- Specified by:
getNumberin interfaceNumberedNodeManager<T>- See Also:
NumberedNodeManager.getNumber(Object)
-
iterateNodes
public Iterator<T> iterateNodes(IntSet s)
- Specified by:
iterateNodesin interfaceNumberedNodeManager<T>- Returns:
- iterator of nodes with the numbers in set s
- See Also:
NumberedNodeManager.iterateNodes(com.ibm.wala.util.intset.IntSet)
-
getPredNodeNumbers
public IntSet getPredNodeNumbers(@Nullable T node) throws IllegalArgumentException
- Specified by:
getPredNodeNumbersin interfaceNumberedEdgeManager<T>- Returns:
- the numbers identifying the immediate predecessors of node
- Throws:
IllegalArgumentException- See Also:
NumberedEdgeManager.getPredNodeNumbers(java.lang.Object)
-
getSuccNodeNumbers
public IntSet getSuccNodeNumbers(@Nullable T node) throws IllegalArgumentException
- Specified by:
getSuccNodeNumbersin interfaceNumberedEdgeManager<T>- Returns:
- the numbers identifying the immediate successors of node
- Throws:
IllegalArgumentException- See Also:
NumberedEdgeManager.getSuccNodeNumbers(java.lang.Object)
-
-