public static class ImmutableNetwork.Builder<N,E> extends Object
ImmutableNetwork instances, especially static final
 networks. Example:
 
 static final ImmutableNetwork<City, Train> TRAIN_NETWORK =
     NetworkBuilder.undirected()
         .allowsParallelEdges(true)
         .<City, Train>immutable()
         .addEdge(PARIS, BRUSSELS, Thalys.trainNumber("1111"))
         .addEdge(PARIS, BRUSSELS, RegionalTrain.trainNumber("2222"))
         .addEdge(LONDON, PARIS, Eurostar.trainNumber("3333"))
         .addEdge(LONDON, BRUSSELS, Eurostar.trainNumber("4444"))
         .addNode(REYKJAVIK)
         .build();
 
 Builder instances can be reused; it is safe to call build() multiple times to build
 multiple networks in series. Each new network contains all the elements of the ones created
 before it.
| Modifier and Type | Method and Description | 
|---|---|
ImmutableNetwork.Builder<N,E> | 
addEdge(EndpointPair<N> endpoints,
       E edge)
Adds  
edge connecting endpoints. | 
ImmutableNetwork.Builder<N,E> | 
addEdge(N nodeU,
       N nodeV,
       E edge)
Adds  
edge connecting nodeU to nodeV. | 
ImmutableNetwork.Builder<N,E> | 
addNode(N node)
Adds  
node if it is not already present. | 
ImmutableNetwork<N,E> | 
build()
Returns a newly-created  
ImmutableNetwork based on the contents of this Builder. | 
@CanIgnoreReturnValue public ImmutableNetwork.Builder<N,E> addNode(N node)
node if it is not already present.
 Nodes must be unique, just as Map keys must be. They must also be non-null.
Builder object@CanIgnoreReturnValue public ImmutableNetwork.Builder<N,E> addEdge(N nodeU, N nodeV, E edge)
edge connecting nodeU to nodeV.
 If the network is directed, edge will be directed in this network; otherwise, it
 will be undirected.
 
edge must be unique to this network, just as a Map key must be. It
 must also be non-null.
 
If nodeU and nodeV are not already present in this network, this method
 will silently add nodeU and nodeV to the network.
 
If edge already connects nodeU to nodeV (in the specified order if
 this network isDirected(), else in any order), then this method will have no effect.
Builder objectIllegalArgumentException - if edge already exists in the network and does not
     connect nodeU to nodeVIllegalArgumentException - if the introduction of the edge would violate allowsParallelEdges() or allowsSelfLoops()@CanIgnoreReturnValue public ImmutableNetwork.Builder<N,E> addEdge(EndpointPair<N> endpoints, E edge)
edge connecting endpoints. In an undirected network, edge will
 also connect nodeV to nodeU.
 If this network is directed, edge will be directed in this network; if it is
 undirected, edge will be undirected in this network.
 
If this network is directed, endpoints must be ordered.
 
edge must be unique to this network, just as a Map key must be. It
 must also be non-null.
 
If either or both endpoints are not already present in this network, this method will
 silently add each missing endpoint to the network.
 
If edge already connects an endpoint pair equal to endpoints, then this
 method will have no effect.
Builder objectIllegalArgumentException - if edge already exists in the network and connects
     some other endpoint pair that is not equal to endpointsIllegalArgumentException - if the introduction of the edge would violate allowsParallelEdges() or allowsSelfLoops()IllegalArgumentException - if the endpoints are unordered and the network is directedpublic ImmutableNetwork<N,E> build()
ImmutableNetwork based on the contents of this Builder.Copyright © 2010–2019. All rights reserved.