Class NetworkBuilder<N,E>

java.lang.Object
com.google.common.graph.NetworkBuilder<N,E>
Type Parameters:
N - The most general node type this builder will support. This is normally Object unless it is constrained by using a method like nodeOrder(com.google.common.graph.ElementOrder<N1>), or the builder is constructed based on an existing Network using from(Network).
E - The most general edge type this builder will support. This is normally Object unless it is constrained by using a method like edgeOrder, or the builder is constructed based on an existing Network using from(Network).

@Beta public final class NetworkBuilder<N,E> extends Object
A builder for constructing instances of MutableNetwork or ImmutableNetwork with user-defined properties.

A Network built by this class has the following default properties:

  • does not allow parallel edges
  • does not allow self-loops
  • orders Network.nodes() and Network.edges() in the order in which the elements were added (insertion order)

Networks built by this class also guarantee that each collection-returning accessor returns a (live) unmodifiable view; see the external documentation for details.

Examples of use:


 // Building a mutable network
 MutableNetwork<String, Integer> network =
     NetworkBuilder.directed().allowsParallelEdges(true).build();
 flightNetwork.addEdge("LAX", "ATL", 3025);
 flightNetwork.addEdge("LAX", "ATL", 1598);
 flightNetwork.addEdge("ATL", "LAX", 2450);

 // Building a immutable network
 ImmutableNetwork<String, Integer> immutableNetwork =
     NetworkBuilder.directed()
         .allowsParallelEdges(true)
         .<String, Integer>immutable()
         .addEdge("LAX", "ATL", 3025)
         .addEdge("LAX", "ATL", 1598)
         .addEdge("ATL", "LAX", 2450)
         .build();
 
Since:
20.0
Author:
James Sexton, Joshua O'Madadhain