public abstract class AbstractNumberedLabeledGraph<T,U> extends AbstractNumberedGraph<T> implements LabeledGraph<T,U>
Constructor and Description |
---|
AbstractNumberedLabeledGraph() |
Modifier and Type | Method and Description |
---|---|
void |
addEdge(T src,
T dst,
U label)
adds an edge with some label
|
U |
getDefaultLabel()
Sets the default object used as label for operations where no specific edge label is provided.
|
Set<? extends U> |
getEdgeLabels(T src,
T dst)
Returns a set of all labeled edges between node src and node dst
|
protected abstract NumberedLabeledEdgeManager<T,U> |
getEdgeManager() |
Iterator<? extends U> |
getPredLabels(T N) |
int |
getPredNodeCount(T N,
U label)
Return the number of
immediate predecessor nodes of this Node in the Graph on edges with some label. |
IntSet |
getPredNodeNumbers(T node,
U label) |
Iterator<T> |
getPredNodes(T N,
U label)
Return an Iterator over the immediate predecessor nodes of this Node in the Graph on edges with some label.
|
Iterator<? extends U> |
getSuccLabels(T N) |
int |
getSuccNodeCount(T N,
U label)
Return the number of
immediate successor nodes of this Node in the Graph |
IntSet |
getSuccNodeNumbers(T node,
U label) |
Iterator<? extends T> |
getSuccNodes(T N,
U label)
Return an Iterator over the immediate successor nodes of this Node in the Graph on edges with some label.
|
boolean |
hasEdge(T src,
T dst,
U label) |
void |
removeEdge(T src,
T dst,
U label) |
getMaxNumber, getNode, getNodeManager, getNumber, getPredNodeNumbers, getSuccNodeNumbers, iterateNodes
addEdge, addNode, containsNode, getNumberOfNodes, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, iterator, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeNode, removeNodeAndEdges, removeOutgoingEdges, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
removeNodeAndEdges
addNode, containsNode, getNumberOfNodes, iterator, removeNode
forEach, spliterator
addEdge, getPredNodeCount, getPredNodes, getSuccNodeCount, getSuccNodes, hasEdge, removeAllIncidentEdges, removeEdge, removeIncomingEdges, removeOutgoingEdges
protected abstract NumberedLabeledEdgeManager<T,U> getEdgeManager()
getEdgeManager
in class AbstractNumberedGraph<T>
public void addEdge(T src, T dst, U label)
LabeledEdgeManager
addEdge
in interface LabeledEdgeManager<T,U>
public Iterator<? extends U> getPredLabels(T N)
getPredLabels
in interface LabeledEdgeManager<T,U>
public int getPredNodeCount(T N, U label)
LabeledEdgeManager
immediate predecessor
nodes of this Node in the Graph on edges with some label.getPredNodeCount
in interface LabeledEdgeManager<T,U>
public Iterator<T> getPredNodes(T N, U label)
LabeledEdgeManager
null
.getPredNodes
in interface LabeledEdgeManager<T,U>
public Iterator<? extends U> getSuccLabels(T N)
getSuccLabels
in interface LabeledEdgeManager<T,U>
public int getSuccNodeCount(T N, U label)
LabeledEdgeManager
immediate successor
nodes of this Node in the GraphgetSuccNodeCount
in interface LabeledEdgeManager<T,U>
public Iterator<? extends T> getSuccNodes(T N, U label)
LabeledEdgeManager
This method never returns null
.
getSuccNodes
in interface LabeledEdgeManager<T,U>
public IntSet getPredNodeNumbers(T node, U label) throws IllegalArgumentException
IllegalArgumentException
public IntSet getSuccNodeNumbers(T node, U label) throws IllegalArgumentException
IllegalArgumentException
public boolean hasEdge(T src, T dst, U label)
hasEdge
in interface LabeledEdgeManager<T,U>
public void removeEdge(T src, T dst, U label)
removeEdge
in interface LabeledEdgeManager<T,U>
public Set<? extends U> getEdgeLabels(T src, T dst)
LabeledEdgeManager
getEdgeLabels
in interface LabeledEdgeManager<T,U>
src
- source node of the edgedst
- target node of the edgepublic U getDefaultLabel()
LabeledEdgeManager
getDefaultLabel
in interface LabeledEdgeManager<T,U>