Class EndpointPair<N>
java.lang.Object
com.google.common.graph.EndpointPair<N>
- All Implemented Interfaces:
- Iterable<N>
@Beta
@Immutable(containerOf="N")
public abstract class EndpointPair<N>
extends Object
implements Iterable<N>
An immutable pair representing the two endpoints of an edge in a graph. The 
EndpointPair
 of a directed edge is an ordered pair of nodes (source() and target()). The
 EndpointPair of an undirected edge is an unordered pair of nodes (nodeU() and
 nodeV()).
 The edge is a self-loop if, and only if, the two endpoints are equal.
- Since:
- 20.0
- Author:
- James Sexton
- 
Method SummaryModifier and TypeMethodDescriptionfinal NadjacentNode(N node) Returns the node that is adjacent tonodealong the origin edge.abstract booleanabstract inthashCode()The hashcode of an orderedEndpointPairis equal toObjects.hash(source(), target()).abstract booleanReturnstrueif thisEndpointPairis an ordered pair (i.e. represents the endpoints of a directed edge).final UnmodifiableIterator<N> iterator()final NnodeU()If thisEndpointPairisOrdered()returns thesource(); otherwise, returns an arbitrary (but consistent) endpoint of the origin edge.final NnodeV()static <N> EndpointPair<N> ordered(N source, N target) Returns anEndpointPairrepresenting the endpoints of a directed edge.abstract Nsource()If thisEndpointPairisOrdered(), returns the node which is the source.abstract Ntarget()If thisEndpointPairisOrdered(), returns the node which is the target.static <N> EndpointPair<N> unordered(N nodeU, N nodeV) Returns anEndpointPairrepresenting the endpoints of an undirected edge.Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.IterableforEach, spliterator
- 
Method Details- 
orderedReturns anEndpointPairrepresenting the endpoints of a directed edge.
- 
unorderedReturns anEndpointPairrepresenting the endpoints of an undirected edge.
- 
sourceIf thisEndpointPairisOrdered(), returns the node which is the source.- Throws:
- UnsupportedOperationException- if this- EndpointPairis not ordered
 
- 
targetIf thisEndpointPairisOrdered(), returns the node which is the target.- Throws:
- UnsupportedOperationException- if this- EndpointPairis not ordered
 
- 
nodeUIf thisEndpointPairisOrdered()returns thesource(); otherwise, returns an arbitrary (but consistent) endpoint of the origin edge.
- 
nodeVReturns the nodeadjacenttonodeU()along the origin edge. If thisEndpointPairisOrdered(), this is equal totarget().
- 
adjacentNodeReturns the node that is adjacent tonodealong the origin edge.- Throws:
- IllegalArgumentException- if this- EndpointPairdoes not contain- node
- Since:
- 20.0 (but the argument type was changed from ObjecttoNin 31.0)
 
- 
isOrderedpublic abstract boolean isOrdered()Returnstrueif thisEndpointPairis an ordered pair (i.e. represents the endpoints of a directed edge).
- 
iterator
- 
equalsTwo orderedEndpointPairs are equal if theirsource()andtarget()are equal. Two unorderedEndpointPairs are equal if they contain the same nodes. An orderedEndpointPairis never equal to an unorderedEndpointPair.
- 
hashCodepublic abstract int hashCode()The hashcode of an orderedEndpointPairis equal toObjects.hash(source(), target()). The hashcode of an unorderedEndpointPairis equal tonodeU().hashCode() + nodeV().hashCode().
 
-