Interface MutableValueGraph<N,V> 
- Type Parameters:
- N- Node parameter type
- V- Value parameter type
- All Superinterfaces:
- PredecessorsFunction<N>,- SuccessorsFunction<N>,- ValueGraph<N,- V> 
ValueGraph which adds mutation methods. When mutation is not required,
 users should prefer the ValueGraph interface.- Since:
- 20.0
- Author:
- James Sexton
- 
Method SummaryModifier and TypeMethodDescriptionbooleanAddsnodeif it is not already present.putEdgeValue(EndpointPair<N> endpoints, V value) Adds an edge connectingendpointsif one is not already present, and sets a value for that edge tovalue(overwriting the existing value, if any).putEdgeValue(N nodeU, N nodeV, V value) Adds an edge connectingnodeUtonodeVif one is not already present, and sets a value for that edge tovalue(overwriting the existing value, if any).removeEdge(EndpointPair<N> endpoints) Removes the edge connectingendpoints, if it is present.removeEdge(N nodeU, N nodeV) Removes the edge connectingnodeUtonodeV, if it is present.booleanremoveNode(N node) Removesnodeif it is present; all edges incident tonodewill also be removed.Methods inherited from interface com.google.common.graph.ValueGraphadjacentNodes, allowsSelfLoops, asGraph, degree, edges, edgeValueOrDefault, edgeValueOrDefault, equals, hasEdgeConnecting, hasEdgeConnecting, hashCode, incidentEdgeOrder, incidentEdges, inDegree, isDirected, nodeOrder, nodes, outDegree, predecessors, successors
- 
Method Details- 
addNodeAddsnodeif it is not already present.Nodes must be unique, just as Mapkeys must be. They must also be non-null.- Returns:
- trueif the graph was modified as a result of this call
 
- 
putEdgeValueAdds an edge connectingnodeUtonodeVif one is not already present, and sets a value for that edge tovalue(overwriting the existing value, if any).If the graph is directed, the resultant edge will be directed; otherwise, it will be undirected. Values do not have to be unique. However, values must be non-null. If nodeUandnodeVare not already present in this graph, this method will silentlyaddnodeUandnodeVto the graph.- Returns:
- the value previously associated with the edge connecting nodeUtonodeV, or null if there was no such edge.
- Throws:
- IllegalArgumentException- if the introduction of the edge would violate- ValueGraph.allowsSelfLoops()
 
- 
putEdgeValueAdds an edge connectingendpointsif one is not already present, and sets a value for that edge tovalue(overwriting the existing value, if any).If the graph is directed, the resultant edge will be directed; otherwise, it will be undirected. If this graph is directed, endpointsmust be ordered.Values do not have to be unique. However, values must be non-null. If either or both endpoints are not already present in this graph, this method will silently addeach missing endpoint to the graph.- Returns:
- the value previously associated with the edge connecting nodeUtonodeV, or null if there was no such edge.
- Throws:
- IllegalArgumentException- if the introduction of the edge would violate- ValueGraph.allowsSelfLoops()
- IllegalArgumentException- if the endpoints are unordered and the graph is directed
- Since:
- 27.1
 
- 
removeNodeRemovesnodeif it is present; all edges incident tonodewill also be removed.- Returns:
- trueif the graph was modified as a result of this call
 
- 
removeEdgeRemoves the edge connectingnodeUtonodeV, if it is present.- Returns:
- the value previously associated with the edge connecting nodeUtonodeV, or null if there was no such edge.
 
- 
removeEdgeRemoves the edge connectingendpoints, if it is present.If this graph is directed, endpointsmust be ordered.- Returns:
- the value previously associated with the edge connecting endpoints, or null if there was no such edge.
- Since:
- 27.1
 
 
-