Package com.ibm.wala.util.graph.impl
Class DelegatingNumberedNodeManager<T extends INodeWithNumber>
java.lang.Object
com.ibm.wala.util.graph.impl.DelegatingNumberedNodeManager<T>
- All Implemented Interfaces:
NodeManager<T>,NumberedNodeManager<T>,Iterable<T>
public class DelegatingNumberedNodeManager<T extends INodeWithNumber>
extends Object
implements NumberedNodeManager<T>
Basic implementation of a numbered graph -- this implementation relies on nodes that carry numbers and edges.
The management of node numbers is a bit fragile, but designed this way for efficiency. Use this class with care.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidIf N.getNumber() == -1, then set N.number and insert this node in the graph.booleancontainsNode(T n) intgetNode(int number) intintiterator()voidremoveNode(T n) remove a node from this graphtoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
DelegatingNumberedNodeManager
public DelegatingNumberedNodeManager()
-
-
Method Details
-
getNumber
- Specified by:
getNumberin interfaceNumberedNodeManager<T extends INodeWithNumber>
-
getNode
- Specified by:
getNodein interfaceNumberedNodeManager<T extends INodeWithNumber>
-
getMaxNumber
public int getMaxNumber()- Specified by:
getMaxNumberin interfaceNumberedNodeManager<T extends INodeWithNumber>
-
iterator
- Specified by:
iteratorin interfaceIterable<T extends INodeWithNumber>- Specified by:
iteratorin interfaceNodeManager<T extends INodeWithNumber>- Returns:
- an
Iteratorof the nodes in this graph
-
getNumberOfNodes
public int getNumberOfNodes()- Specified by:
getNumberOfNodesin interfaceNodeManager<T extends INodeWithNumber>- Returns:
- the number of nodes in this graph
-
addNode
If N.getNumber() == -1, then set N.number and insert this node in the graph. Use with extreme care.- Specified by:
addNodein interfaceNodeManager<T extends INodeWithNumber>- Throws:
IllegalArgumentException- if n is null- See Also:
-
removeNode
Description copied from interface:NodeManagerremove a node from this graph- Specified by:
removeNodein interfaceNodeManager<T extends INodeWithNumber>
-
toString
-
containsNode
- Specified by:
containsNodein interfaceNodeManager<T extends INodeWithNumber>- Returns:
- true iff the graph contains the specified node
-
iterateNodes
- Specified by:
iterateNodesin interfaceNumberedNodeManager<T extends INodeWithNumber>- Returns:
- iterator of nodes with the numbers in set s
-