private static class Graphs.TransposedValueGraph<N,V> extends AbstractValueGraph<N,V>
Modifier and Type | Field and Description |
---|---|
private ValueGraph<N,V> |
graph |
Constructor and Description |
---|
TransposedValueGraph(ValueGraph<N,V> graph) |
Modifier and Type | Method and Description |
---|---|
java.util.Set<N> |
adjacentNodes(java.lang.Object node)
Returns the nodes which have an incident edge in common with
node in this graph. |
boolean |
allowsSelfLoops()
Returns true if this graph allows self-loops (edges that connect a node to itself).
|
protected long |
edgeCount()
Defer to
AbstractGraph.edges() (based on successors(Object) ) for full
edges() implementation. |
V |
edgeValue(java.lang.Object nodeU,
java.lang.Object nodeV)
If there is an edge connecting
nodeU to nodeV , returns the non-null value
associated with that edge. |
V |
edgeValueOrDefault(java.lang.Object nodeU,
java.lang.Object nodeV,
V defaultValue)
If there is an edge connecting
nodeU to nodeV , returns the non-null value
associated with that edge; otherwise, returns defaultValue . |
boolean |
isDirected()
Returns true if the edges in this graph are directed.
|
ElementOrder<N> |
nodeOrder()
Returns the order of iteration for the elements of
Graph.nodes() . |
java.util.Set<N> |
nodes()
Returns all nodes in this graph, in the order specified by
Graph.nodeOrder() . |
java.util.Set<N> |
predecessors(java.lang.Object node)
Returns all nodes in this graph adjacent to
node which can be reached by traversing
node 's incoming edges against the direction (if any) of the edge. |
java.util.Set<N> |
successors(java.lang.Object node)
Returns all nodes in this graph adjacent to
node which can be reached by traversing
node 's outgoing edges in the direction (if any) of the edge. |
toString
degree, edges, inDegree, outDegree
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
equals, hashCode
private final ValueGraph<N,V> graph
TransposedValueGraph(ValueGraph<N,V> graph)
public java.util.Set<N> nodes()
Graph
Graph.nodeOrder()
.protected long edgeCount()
AbstractGraph.edges()
(based on successors(Object)
) for full
edges() implementation.edgeCount
in class AbstractGraph<N>
public boolean isDirected()
Graph
source node
to a target node
, while
undirected edges connect a pair of nodes to each other.public boolean allowsSelfLoops()
Graph
UnsupportedOperationException
.public ElementOrder<N> nodeOrder()
Graph
Graph.nodes()
.public java.util.Set<N> adjacentNodes(java.lang.Object node)
Graph
node
in this graph.public java.util.Set<N> predecessors(java.lang.Object node)
Graph
node
which can be reached by traversing
node
's incoming edges against the direction (if any) of the edge.
In an undirected graph, this is equivalent to Graph.adjacentNodes(Object)
.
public java.util.Set<N> successors(java.lang.Object node)
Graph
node
which can be reached by traversing
node
's outgoing edges in the direction (if any) of the edge.
In an undirected graph, this is equivalent to Graph.adjacentNodes(Object)
.
This is not the same as "all nodes reachable from node
by following outgoing
edges". For that functionality, see Graphs.reachableNodes(Graph, Object)
.
public V edgeValue(java.lang.Object nodeU, java.lang.Object nodeV)
ValueGraph
nodeU
to nodeV
, returns the non-null value
associated with that edge.
In an undirected graph, this is equal to edgeValue(nodeV, nodeU)
.
edgeValue
in interface ValueGraph<N,V>
edgeValue
in class AbstractValueGraph<N,V>
public V edgeValueOrDefault(java.lang.Object nodeU, java.lang.Object nodeV, @Nullable V defaultValue)
ValueGraph
nodeU
to nodeV
, returns the non-null value
associated with that edge; otherwise, returns defaultValue
.
In an undirected graph, this is equal to edgeValueOrDefault(nodeV, nodeU,
defaultValue)
.