Example usage for com.google.common.graph NetworkBuilder expectedNodeCount

List of usage examples for com.google.common.graph NetworkBuilder expectedNodeCount

Introduction

In this page you can find the example usage for com.google.common.graph NetworkBuilder expectedNodeCount.

Prototype

Optional expectedNodeCount

To view the source code for com.google.common.graph NetworkBuilder expectedNodeCount.

Click Source Link

Usage

From source file:edu.uci.ics.jung.graph.TreeNetworkBuilder.java

/**
 * Returns an empty {@link MutableCTree} with the properties of this {@link TreeNetworkBuilder}.
 *///from  w ww. j  av  a 2 s  . co  m
// TODO(jrtom): decide how we're going to handle different implementations.
// For the graph stuff, we don't really need different implementations, but
// for trees, maybe we do; at least for binary trees vs. trees with no restrictions on outgoing edges...
public <N1 extends N, E1 extends E> MutableCTreeNetwork<N1, E1> build() {
    NetworkBuilder<Object, Object> graphBuilder = NetworkBuilder.directed().allowsSelfLoops(false)
            .allowsParallelEdges(false);
    if (expectedNodeCount.isPresent()) {
        graphBuilder = graphBuilder.expectedNodeCount(expectedNodeCount.get());
    }
    MutableNetwork<N1, E1> delegate = graphBuilder.nodeOrder(nodeOrder).edgeOrder(edgeOrder).build();
    @SuppressWarnings("unchecked")
    Optional<N1> rootCast = (Optional<N1>) root;
    return new DelegateCTreeNetwork<N1, E1>(delegate, rootCast);
}