Package com.google.common.graph
Class UndirectedMultiNetworkConnections<N,E>
- java.lang.Object
-
- com.google.common.graph.AbstractUndirectedNetworkConnections<N,E>
-
- com.google.common.graph.UndirectedMultiNetworkConnections<N,E>
-
- Type Parameters:
N- Node parameter typeE- Edge parameter type
- All Implemented Interfaces:
NetworkConnections<N,E>
final class UndirectedMultiNetworkConnections<N,E> extends AbstractUndirectedNetworkConnections<N,E>
An implementation ofNetworkConnectionsfor undirected networks with parallel edges.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ref.Reference<Multiset<N>>adjacentNodesReference-
Fields inherited from class com.google.common.graph.AbstractUndirectedNetworkConnections
incidentEdgeMap
-
-
Constructor Summary
Constructors Modifier Constructor Description privateUndirectedMultiNetworkConnections(java.util.Map<E,N> incidentEdges)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddInEdge(E edge, N node, boolean isSelfLoop)Addedgeto the set of incoming edges.voidaddOutEdge(E edge, N node)Addedgeto the set of outgoing edges.java.util.Set<N>adjacentNodes()private Multiset<N>adjacentNodesMultiset()java.util.Set<E>edgesConnecting(N node)Returns the set of edges connecting the origin node tonode.private static <T> TgetReference(java.lang.ref.Reference<T> reference)(package private) static <N,E>
UndirectedMultiNetworkConnections<N,E>of()(package private) static <N,E>
UndirectedMultiNetworkConnections<N,E>ofImmutable(java.util.Map<E,N> incidentEdges)NremoveInEdge(E edge, boolean isSelfLoop)Removeedgefrom the set of incoming edges.NremoveOutEdge(E edge)Removeedgefrom the set of outgoing edges.-
Methods inherited from class com.google.common.graph.AbstractUndirectedNetworkConnections
adjacentNode, incidentEdges, inEdges, outEdges, predecessors, successors
-
-
-
-
Method Detail
-
of
static <N,E> UndirectedMultiNetworkConnections<N,E> of()
-
ofImmutable
static <N,E> UndirectedMultiNetworkConnections<N,E> ofImmutable(java.util.Map<E,N> incidentEdges)
-
adjacentNodes
public java.util.Set<N> adjacentNodes()
-
edgesConnecting
public java.util.Set<E> edgesConnecting(N node)
Description copied from interface:NetworkConnectionsReturns the set of edges connecting the origin node tonode. For networks without parallel edges, this set cannot be of size greater than one.
-
removeInEdge
public N removeInEdge(E edge, boolean isSelfLoop)
Description copied from interface:NetworkConnectionsRemoveedgefrom the set of incoming edges. Returns the former predecessor node.In the undirected case, returns
nullifisSelfLoopis true.- Specified by:
removeInEdgein interfaceNetworkConnections<N,E>- Overrides:
removeInEdgein classAbstractUndirectedNetworkConnections<N,E>
-
removeOutEdge
public N removeOutEdge(E edge)
Description copied from interface:NetworkConnectionsRemoveedgefrom the set of outgoing edges. Returns the former successor node.- Specified by:
removeOutEdgein interfaceNetworkConnections<N,E>- Overrides:
removeOutEdgein classAbstractUndirectedNetworkConnections<N,E>
-
addInEdge
public void addInEdge(E edge, N node, boolean isSelfLoop)
Description copied from interface:NetworkConnectionsAddedgeto the set of incoming edges. Implicitly addsnodeas a predecessor.- Specified by:
addInEdgein interfaceNetworkConnections<N,E>- Overrides:
addInEdgein classAbstractUndirectedNetworkConnections<N,E>
-
addOutEdge
public void addOutEdge(E edge, N node)
Description copied from interface:NetworkConnectionsAddedgeto the set of outgoing edges. Implicitly addsnodeas a successor.- Specified by:
addOutEdgein interfaceNetworkConnections<N,E>- Overrides:
addOutEdgein classAbstractUndirectedNetworkConnections<N,E>
-
getReference
private static <T> T getReference(java.lang.ref.Reference<T> reference)
-
-