@Beta public final class GraphBuilder<N> extends Object
MutableGraph with user-defined properties.
A graph built by this class will have the following properties by default:
Graph.nodes() in the order in which the elements were added
Example of use:
MutableGraph<String> graph = GraphBuilder.undirected().allowsSelfLoops(true).build();
graph.putEdge("bread", "bread");
graph.putEdge("chocolate", "peanut butter");
graph.putEdge("peanut butter", "jelly");
| Modifier and Type | Method and Description |
|---|---|
GraphBuilder<N> |
allowsSelfLoops(boolean allowsSelfLoops)
Specifies whether the graph will allow self-loops (edges that connect a node to itself).
|
<N1 extends N> |
build()
Returns an empty
MutableGraph with the properties of this GraphBuilder. |
static GraphBuilder<Object> |
directed()
Returns a
GraphBuilder for building directed graphs. |
GraphBuilder<N> |
expectedNodeCount(int expectedNodeCount)
Specifies the expected number of nodes in the graph.
|
static <N> GraphBuilder<N> |
from(Graph<N> graph)
Returns a
GraphBuilder initialized with all properties queryable from graph. |
<N1 extends N> |
nodeOrder(ElementOrder<N1> nodeOrder)
Specifies the order of iteration for the elements of
Graph.nodes(). |
static GraphBuilder<Object> |
undirected()
Returns a
GraphBuilder for building undirected graphs. |
public static GraphBuilder<Object> directed()
GraphBuilder for building directed graphs.public static GraphBuilder<Object> undirected()
GraphBuilder for building undirected graphs.public static <N> GraphBuilder<N> from(Graph<N> graph)
GraphBuilder initialized with all properties queryable from graph.
The "queryable" properties are those that are exposed through the Graph interface,
such as Graph.isDirected(). Other properties, such as expectedNodeCount(int),
are not set in the new builder.
public GraphBuilder<N> allowsSelfLoops(boolean allowsSelfLoops)
UnsupportedOperationException.public GraphBuilder<N> expectedNodeCount(int expectedNodeCount)
IllegalArgumentException - if expectedNodeCount is negativepublic <N1 extends N> GraphBuilder<N1> nodeOrder(ElementOrder<N1> nodeOrder)
Graph.nodes().public <N1 extends N> MutableGraph<N1> build()
MutableGraph with the properties of this GraphBuilder.Copyright © 2010–2018. All rights reserved.