Class AbstractGraph<N>
java.lang.Object
com.google.common.graph.AbstractGraph<N>
- Type Parameters:
- N- Node parameter type
- All Implemented Interfaces:
- Graph<N>, PredecessorsFunction<N>, SuccessorsFunction<N>
- Direct Known Subclasses:
- ImmutableGraph
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionNetwork<N, EndpointPair<N>> Network<N, EndpointPair<N>> Returns a live view of this graph as aNetworkwhose edgesEareEndpointPair<N>objects (that is, aNetwork<N, EndpointPair<N>>).intprotected longReturns the number of edges in this graph; used to calculate the size ofGraph.edges().Set<EndpointPair<N>> edges()An implementation ofBaseGraph.edges()defined in terms ofGraph.nodes()andSuccessorsFunction.successors(Object).final booleanReturnstrueiffobjectis aGraphthat has the same elements and the same structural relationships as those in this graph.booleanhasEdgeConnecting(EndpointPair<N> endpoints) booleanhasEdgeConnecting(N nodeU, N nodeV) final inthashCode()Returns the hash code for this graph.Set<EndpointPair<N>> incidentEdges(N node) intprotected final booleanisOrderingCompatible(EndpointPair<?> endpoints) Returnstrueiffendpoints' ordering is compatible with the directionality of this graph.protected final <T> Set<T> nodeInvalidatableSet(Set<T> set, N node) protected final <T> Set<T> nodePairInvalidatableSet(Set<T> set, N nodeU, N nodeV) inttoString()Returns a string representation of this graph.protected final voidvalidateEndpoints(EndpointPair<?> endpoints) ThrowsIllegalArgumentExceptionif the ordering ofendpointsis not compatible with the directionality of this graph.Methods inherited from interface GraphadjacentNodes, allowsSelfLoops, degree, edges, hasEdgeConnecting, hasEdgeConnecting, incidentEdgeOrder, incidentEdges, inDegree, isDirected, nodeOrder, nodes, outDegree, predecessors, successors
- 
Constructor Details- 
AbstractGraphpublic AbstractGraph()Constructor for use by subclasses.
 
- 
- 
Method Details- 
equalsDescription copied from interface:GraphReturnstrueiffobjectis aGraphthat has the same elements and the same structural relationships as those in this graph.Thus, two graphs A and B are equal if all of the following are true: - A and B have equal directedness.
- A and B have equal node sets.
- A and B have equal edge sets.
 Graph properties besides directednessdo not affect equality. For example, two graphs may be considered equal even if one allows self-loops and the other doesn't. Additionally, the order in which nodes or edges are added to the graph, and the order in which they are iterated over, are irrelevant.A reference implementation of this is provided by equals(Object).
- A and B have equal 
- 
hashCodepublic final int hashCode()Description copied from interface:GraphReturns the hash code for this graph. The hash code of a graph is defined as the hash code of the set returned byGraph.edges().A reference implementation of this is provided by hashCode().
- 
toString
- 
asNetworkNetwork<N, EndpointPair<N>> asNetwork()Returns a live view of this graph as aNetworkwhose edgesEareEndpointPair<N>objects (that is, aNetwork<N, EndpointPair<N>>). The resultingNetwork's edge-oriented methods (such asinEdges()) will return views transformed from the corresponding node-oriented methods (such aspredecessors()).This capability facilitates writing implementations of edge-oriented code. - Since:
- NEXT
 
- 
edgeCountprotected long edgeCount()Returns the number of edges in this graph; used to calculate the size ofGraph.edges(). This implementation requires O(|N|) time. Classes extending this one may manually keep track of the number of edges as the graph is updated, and override this method for better performance.
- 
edgesAn implementation ofBaseGraph.edges()defined in terms ofGraph.nodes()andSuccessorsFunction.successors(Object).
- 
incidentEdgeOrder
- 
incidentEdges
- 
degree
- 
inDegree
- 
outDegree
- 
hasEdgeConnecting
- 
hasEdgeConnecting
- 
asNetwork
- 
validateEndpointsThrowsIllegalArgumentExceptionif the ordering ofendpointsis not compatible with the directionality of this graph.
- 
isOrderingCompatibleReturnstrueiffendpoints' ordering is compatible with the directionality of this graph.
- 
nodeInvalidatableSet
- 
nodePairInvalidatableSet
 
-