public class DelegatingNumberedNodeManager<T extends INodeWithNumber> extends Object implements NumberedNodeManager<T>
The management of node numbers is a bit fragile, but designed this way for efficiency. Use this class with care.
| Constructor and Description |
|---|
DelegatingNumberedNodeManager() |
| Modifier and Type | Method and Description |
|---|---|
void |
addNode(T n)
If N.getNumber() == -1, then set N.number and insert this node in the graph.
|
boolean |
containsNode(T n) |
int |
getMaxNumber() |
T |
getNode(int number) |
int |
getNumber(T N) |
int |
getNumberOfNodes() |
Iterator<T> |
iterateNodes(IntSet s) |
Iterator<T> |
iterator() |
void |
removeNode(T n)
remove a node from this graph
|
Stream<T> |
stream() |
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic int getNumber(T N)
getNumber in interface NumberedNodeManager<T extends INodeWithNumber>public T getNode(int number)
getNode in interface NumberedNodeManager<T extends INodeWithNumber>public int getMaxNumber()
getMaxNumber in interface NumberedNodeManager<T extends INodeWithNumber>public Iterator<T> iterator()
iterator in interface NodeManager<T extends INodeWithNumber>iterator in interface Iterable<T extends INodeWithNumber>Iterator of the nodes in this graphNodeManager.iterator()public Stream<T> stream()
stream in interface NodeManager<T extends INodeWithNumber>Stream of the nodes in this graphpublic int getNumberOfNodes()
getNumberOfNodes in interface NodeManager<T extends INodeWithNumber>NodeManager.getNumberOfNodes()public void addNode(T n)
addNode in interface NodeManager<T extends INodeWithNumber>IllegalArgumentException - if n is nullNodeManager.addNode(java.lang.Object)public void removeNode(T n)
NodeManagerremoveNode in interface NodeManager<T extends INodeWithNumber>NodeManager.removeNode(Object)public boolean containsNode(T n)
containsNode in interface NodeManager<T extends INodeWithNumber>NodeManager.containsNode(Object)public Iterator<T> iterateNodes(IntSet s)
iterateNodes in interface NumberedNodeManager<T extends INodeWithNumber>