Package com.google.common.graph
Class Graphs.TransposedGraph<N>
- java.lang.Object
-
- com.google.common.graph.AbstractBaseGraph<N>
-
- com.google.common.graph.AbstractGraph<N>
-
- com.google.common.graph.ForwardingGraph<N>
-
- com.google.common.graph.Graphs.TransposedGraph<N>
-
- All Implemented Interfaces:
BaseGraph<N>
,Graph<N>
,PredecessorsFunction<N>
,SuccessorsFunction<N>
- Enclosing class:
- Graphs
private static class Graphs.TransposedGraph<N> extends ForwardingGraph<N>
-
-
Constructor Summary
Constructors Constructor Description TransposedGraph(Graph<N> graph)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Graph<N>
delegate()
boolean
hasEdgeConnecting(N nodeU, N nodeV)
Returns true if there is an edge directly connectingnodeU
tonodeV
.int
inDegree(N node)
Returns the count ofnode
's incoming edges (equal topredecessors(node).size()
) in a directed graph.int
outDegree(N node)
Returns the count ofnode
's outgoing edges (equal tosuccessors(node).size()
) in a directed graph.java.util.Set<N>
predecessors(N node)
Returns all nodes in this graph adjacent tonode
which can be reached by traversingnode
's incoming edges against the direction (if any) of the edge.java.util.Set<N>
successors(N node)
Returns all nodes in this graph adjacent tonode
which can be reached by traversingnode
's outgoing edges in the direction (if any) of the edge.-
Methods inherited from class com.google.common.graph.ForwardingGraph
adjacentNodes, allowsSelfLoops, degree, edgeCount, isDirected, nodeOrder, nodes
-
Methods inherited from class com.google.common.graph.AbstractGraph
equals, hashCode, toString
-
Methods inherited from class com.google.common.graph.AbstractBaseGraph
edges, incidentEdges
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.google.common.graph.Graph
edges, incidentEdges
-
-
-
-
Method Detail
-
delegate
protected Graph<N> delegate()
- Specified by:
delegate
in classForwardingGraph<N>
-
predecessors
public java.util.Set<N> predecessors(N node)
Description copied from interface:Graph
Returns all nodes in this graph adjacent tonode
which can be reached by traversingnode
's incoming edges against the direction (if any) of the edge.In an undirected graph, this is equivalent to
Graph.adjacentNodes(Object)
.- Specified by:
predecessors
in interfaceBaseGraph<N>
- Specified by:
predecessors
in interfaceGraph<N>
- Specified by:
predecessors
in interfacePredecessorsFunction<N>
- Overrides:
predecessors
in classForwardingGraph<N>
-
successors
public java.util.Set<N> successors(N node)
Description copied from interface:Graph
Returns all nodes in this graph adjacent tonode
which can be reached by traversingnode
'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, seeGraphs.reachableNodes(Graph, Object)
.- Specified by:
successors
in interfaceBaseGraph<N>
- Specified by:
successors
in interfaceGraph<N>
- Specified by:
successors
in interfaceSuccessorsFunction<N>
- Overrides:
successors
in classForwardingGraph<N>
-
inDegree
public int inDegree(N node)
Description copied from interface:BaseGraph
Returns the count ofnode
's incoming edges (equal topredecessors(node).size()
) in a directed graph. In an undirected graph, returns theBaseGraph.degree(Object)
.If the count is greater than
Integer.MAX_VALUE
, returnsInteger.MAX_VALUE
.
-
outDegree
public int outDegree(N node)
Description copied from interface:BaseGraph
Returns the count ofnode
's outgoing edges (equal tosuccessors(node).size()
) in a directed graph. In an undirected graph, returns theBaseGraph.degree(Object)
.If the count is greater than
Integer.MAX_VALUE
, returnsInteger.MAX_VALUE
.
-
hasEdgeConnecting
public boolean hasEdgeConnecting(N nodeU, N nodeV)
Description copied from interface:BaseGraph
Returns true if there is an edge directly connectingnodeU
tonodeV
. This is equivalent tonodes().contains(nodeU) && successors(nodeU).contains(nodeV)
.In an undirected graph, this is equal to
hasEdgeConnecting(nodeV, nodeU)
.- Specified by:
hasEdgeConnecting
in interfaceBaseGraph<N>
- Specified by:
hasEdgeConnecting
in interfaceGraph<N>
- Overrides:
hasEdgeConnecting
in classForwardingGraph<N>
-
-