public class SparseNumberedLabeledEdgeManager<T,U> extends Object implements NumberedLabeledEdgeManager<T,U>
Constructor and Description |
---|
SparseNumberedLabeledEdgeManager(NumberedNodeManager<T> nodeManager,
U defaultLabel) |
Modifier and Type | Method and Description |
---|---|
void |
addEdge(T src,
T dst) |
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
|
Iterator<? extends U> |
getPredLabels(T N) |
int |
getPredNodeCount(T N)
Return the number of
immediate predecessor nodes of 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) |
IntSet |
getPredNodeNumbers(T node,
U label) |
Iterator<T> |
getPredNodes(T N)
Return an
Iterator over the immediate predecessor nodes of n
This method never returns null . |
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)
Return the number of
immediate successor nodes of this Node in the Graph |
int |
getSuccNodeCount(T N,
U label)
Return the number of
immediate successor nodes of this Node in the Graph |
IntSet |
getSuccNodeNumbers(T node) |
IntSet |
getSuccNodeNumbers(T node,
U label) |
Iterator<T> |
getSuccNodes(T N)
Return an Iterator over the immediate successor nodes of n
|
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) |
boolean |
hasEdge(T src,
T dst,
U label) |
void |
removeAllIncidentEdges(T node) |
void |
removeEdge(T src,
T dst) |
void |
removeEdge(T src,
T dst,
U label) |
void |
removeIncomingEdges(T node) |
void |
removeOutgoingEdges(T node) |
public SparseNumberedLabeledEdgeManager(NumberedNodeManager<T> nodeManager, U defaultLabel)
public void addEdge(T src, T dst, U label)
LabeledEdgeManager
addEdge
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 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 boolean hasEdge(T src, T dst, U label)
hasEdge
in interface LabeledEdgeManager<T,U>
public void removeAllIncidentEdges(T node)
removeAllIncidentEdges
in interface EdgeManager<T>
public void removeEdge(T src, T dst, U label) throws IllegalArgumentException
removeEdge
in interface LabeledEdgeManager<T,U>
IllegalArgumentException
public void removeIncomingEdges(T node) throws IllegalArgumentException
removeIncomingEdges
in interface EdgeManager<T>
IllegalArgumentException
public void removeOutgoingEdges(T node) throws IllegalArgumentException
removeOutgoingEdges
in interface EdgeManager<T>
IllegalArgumentException
public Iterator<? extends U> getPredLabels(T N)
getPredLabels
in interface LabeledEdgeManager<T,U>
public Iterator<? extends U> getSuccLabels(T N)
getSuccLabels
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 void addEdge(T src, T dst)
addEdge
in interface EdgeManager<T>
public int getPredNodeCount(T N)
EdgeManager
immediate predecessor
nodes of ngetPredNodeCount
in interface EdgeManager<T>
public Iterator<T> getPredNodes(T N)
EdgeManager
Iterator
over the immediate predecessor nodes of n
This method never returns null
.getPredNodes
in interface EdgeManager<T>
Iterator
over the immediate predecessor nodes of this Node.public int getSuccNodeCount(T N)
EdgeManager
immediate successor
nodes of this Node in the GraphgetSuccNodeCount
in interface EdgeManager<T>
public Iterator<T> getSuccNodes(T N)
EdgeManager
This method never returns null
.
getSuccNodes
in interface EdgeManager<T>
public boolean hasEdge(T src, T dst)
hasEdge
in interface EdgeManager<T>
public void removeEdge(T src, T dst) throws UnsupportedOperationException
removeEdge
in interface EdgeManager<T>
UnsupportedOperationException
public U getDefaultLabel()
LabeledEdgeManager
getDefaultLabel
in interface LabeledEdgeManager<T,U>
public IntSet getPredNodeNumbers(T node, U label) throws IllegalArgumentException
getPredNodeNumbers
in interface NumberedLabeledEdgeManager<T,U>
IllegalArgumentException
public IntSet getSuccNodeNumbers(T node, U label) throws IllegalArgumentException
getSuccNodeNumbers
in interface NumberedLabeledEdgeManager<T,U>
IllegalArgumentException
public IntSet getPredNodeNumbers(T node)
getPredNodeNumbers
in interface NumberedEdgeManager<T>
public IntSet getSuccNodeNumbers(T node)
getSuccNodeNumbers
in interface NumberedEdgeManager<T>