N - Node parameter typeE - Edge parameter type@Beta @Immutable(containerOf={"N","E"}) public final class ImmutableNetwork<N,E> extends AbstractNetwork<N,E>
Network whose elements and structural relationships will never change. Instances of
 this class may be obtained with copyOf(Network).
 See the Guava User's Guide's discussion
 of the Immutable* types for more information on the properties and guarantees
 provided by this class.
| Modifier and Type | Class and Description | 
|---|---|
static class  | 
ImmutableNetwork.Builder<N,E>
A builder for creating  
ImmutableNetwork instances, especially static final
 networks. | 
| Modifier and Type | Field and Description | 
|---|---|
protected com.google.common.graph.MapIteratorCache<E,N> | 
edgeToReferenceNode  | 
protected com.google.common.graph.MapIteratorCache<N,com.google.common.graph.NetworkConnections<N,E>> | 
nodeConnections  | 
| Modifier and Type | Method and Description | 
|---|---|
Set<N> | 
adjacentNodes(N node)
Returns the nodes which have an incident edge in common with  
node in this network. | 
boolean | 
allowsParallelEdges()
Returns true if this network allows parallel edges. 
 | 
boolean | 
allowsSelfLoops()
Returns true if this network allows self-loops (edges that connect a node to itself). 
 | 
ImmutableGraph<N> | 
asGraph()
Returns a live view of this network as a  
Graph. | 
protected com.google.common.graph.NetworkConnections<N,E> | 
checkedConnections(N node)  | 
protected N | 
checkedReferenceNode(E edge)  | 
protected boolean | 
containsEdge(E edge)  | 
protected boolean | 
containsNode(N node)  | 
static <N,E> ImmutableNetwork<N,E> | 
copyOf(ImmutableNetwork<N,E> network)
Deprecated. 
 
no need to use this 
 | 
static <N,E> ImmutableNetwork<N,E> | 
copyOf(Network<N,E> network)
Returns an immutable copy of  
network. | 
ElementOrder<E> | 
edgeOrder()
Returns the order of iteration for the elements of  
Network.edges(). | 
Set<E> | 
edges()
Returns all edges in this network, in the order specified by  
Network.edgeOrder(). | 
Set<E> | 
edgesConnecting(N nodeU,
               N nodeV)
Returns the set of edges that each directly connect  
nodeU to nodeV. | 
Set<E> | 
incidentEdges(N node)
Returns the edges whose  
incident nodes in this network include
 node. | 
EndpointPair<N> | 
incidentNodes(E edge)
Returns the nodes which are the endpoints of  
edge in this network. | 
Set<E> | 
inEdges(N node)
Returns all edges in this network which can be traversed in the direction (if any) of the edge
 to end at  
node. | 
boolean | 
isDirected()
Returns true if the edges in this network are directed. 
 | 
ElementOrder<N> | 
nodeOrder()
Returns the order of iteration for the elements of  
Network.nodes(). | 
Set<N> | 
nodes()
Returns all nodes in this network, in the order specified by  
Network.nodeOrder(). | 
Set<E> | 
outEdges(N node)
Returns all edges in this network which can be traversed in the direction (if any) of the edge
 starting from  
node. | 
Set<N> | 
predecessors(N node)
Returns all nodes in this network adjacent to  
node which can be reached by traversing
 node's incoming edges against the direction (if any) of the edge. | 
Set<N> | 
successors(N node)
Returns all nodes in this network adjacent to  
node which can be reached by traversing
 node's outgoing edges in the direction (if any) of the edge. | 
adjacentEdges, degree, edgeConnecting, edgeConnecting, edgeConnectingOrNull, edgeConnectingOrNull, edgesConnecting, equals, hasEdgeConnecting, hasEdgeConnecting, hashCode, inDegree, isOrderingCompatible, outDegree, toString, validateEndpointsprotected final com.google.common.graph.MapIteratorCache<N,com.google.common.graph.NetworkConnections<N,E>> nodeConnections
protected final com.google.common.graph.MapIteratorCache<E,N> edgeToReferenceNode
public static <N,E> ImmutableNetwork<N,E> copyOf(Network<N,E> network)
network.@Deprecated public static <N,E> ImmutableNetwork<N,E> copyOf(ImmutableNetwork<N,E> network)
public ImmutableGraph<N> asGraph()
NetworkGraph. The resulting Graph will have
 an edge connecting node A to node B if this Network has an edge connecting A to B.
 If this network allows parallel edges, parallel edges will be
 treated as if collapsed into a single edge. For example, the Network.degree(Object) of a node
 in the Graph view may be less than the degree of the same node in this Network.
public Set<N> nodes()
NetworkNetwork.nodeOrder().public Set<E> edges()
NetworkNetwork.edgeOrder().public boolean isDirected()
Networksource node to a target node, while
 undirected edges connect a pair of nodes to each other.public boolean allowsParallelEdges()
NetworkIllegalArgumentException.public boolean allowsSelfLoops()
NetworkIllegalArgumentException.public ElementOrder<N> nodeOrder()
NetworkNetwork.nodes().public ElementOrder<E> edgeOrder()
NetworkNetwork.edges().public Set<E> incidentEdges(N node)
Networkincident nodes in this network include
 node.
 This is equal to the union of Network.inEdges(Object) and Network.outEdges(Object).
public EndpointPair<N> incidentNodes(E edge)
Networkedge in this network.public Set<N> adjacentNodes(N node)
Networknode in this network.
 This is equal to the union of Network.predecessors(Object) and Network.successors(Object).
public Set<E> edgesConnecting(N nodeU, N nodeV)
NetworknodeU to nodeV.
 In an undirected network, this is equal to edgesConnecting(nodeV, nodeU).
 
The resulting set of edges will be parallel (i.e. have equal Network.incidentNodes(Object).
 If this network does not allow parallel edges, the resulting set
 will contain at most one edge (equivalent to edgeConnecting(nodeU, nodeV).asSet()).
edgesConnecting in interface Network<N,E>edgesConnecting in class AbstractNetwork<N,E>public Set<E> inEdges(N node)
Networknode.
 In a directed network, an incoming edge's EndpointPair.target() equals node.
 
In an undirected network, this is equivalent to Network.incidentEdges(Object).
public Set<E> outEdges(N node)
Networknode.
 In a directed network, an outgoing edge's EndpointPair.source() equals node.
 
In an undirected network, this is equivalent to Network.incidentEdges(Object).
public Set<N> predecessors(N node)
Networknode which can be reached by traversing
 node's incoming edges against the direction (if any) of the edge.
 In an undirected network, this is equivalent to Network.adjacentNodes(Object).
public Set<N> successors(N node)
Networknode which can be reached by traversing
 node's outgoing edges in the direction (if any) of the edge.
 In an undirected network, this is equivalent to Network.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).
protected final com.google.common.graph.NetworkConnections<N,E> checkedConnections(N node)
protected final N checkedReferenceNode(E edge)
protected final boolean containsNode(N node)
protected final boolean containsEdge(E edge)
Copyright © 2010–2019. All rights reserved.