V
 the graph vertex typeE
 the graph edge typepublic class AsWeightedGraph<V,E> extends GraphDelegator<V,E> implements Serializable, WeightedGraph<V,E>
A weighted view of the backing graph specified in the constructor. This graph allows modules to apply algorithms designed for weighted graphs to an unweighted graph by providing an explicit edge weight mapping. The implementation also allows for "masking" weights for a subset of the edges in an existing weighted graph.
Query operations on this graph "read through" to the backing graph. Vertex addition/removal and edge addition/removal are all supported (and immediately reflected in the backing graph). Setting an edge weight will pass the operation to the backing graph as well if the backing graph implements the WeightedGraph interface. Setting an edge weight will modify the weight map in order to maintain a consistent graph.
Note that edges returned by this graph's accessors are really just the edges of the underlying directed graph.
This graph does not pass the hashCode and equals operations through to the backing graph, but relies on Object's equals and hashCode methods. This graph will be serializable if the backing graph is serializable.
Modifier and Type  Field and Description 

protected Map<E,Double> 
weightMap 
DEFAULT_EDGE_WEIGHT
Constructor and Description 

AsWeightedGraph(Graph<V,E> g,
Map<E,Double> weightMap)
Constructor for AsWeightedGraph.

Modifier and Type  Method and Description 

double 
getEdgeWeight(E e)
Returns the weight assigned to a given edge.

void 
setEdgeWeight(E e,
double weight)
Assigns a weight to an edge.

addEdge, addEdge, addVertex, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeFactory, getEdgeSource, getEdgeTarget, incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, toString, vertexSet
assertVertexExist, containsEdge, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toStringFromSets
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
addEdge, addEdge, addVertex, containsEdge, containsEdge, containsVertex, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeFactory, getEdgeSource, getEdgeTarget, removeAllEdges, removeAllEdges, removeAllVertices, removeEdge, removeEdge, removeVertex, vertexSet
public AsWeightedGraph(Graph<V,E> g, Map<E,Double> weightMap)
g
 the backing graph over which a weighted view is to be created.weightMap
 A mapping of edges to weights. If an edge is not present in the weight map,
the edge weight for the underlying graph is returned. Note that a live reference to
this map is retained, so if the caller changes the map after construction, the changes
will affect the AsWeightedGraph instance as well.public void setEdgeWeight(E e, double weight)
GraphDelegator
setEdgeWeight
in interface WeightedGraph<V,E>
setEdgeWeight
in class GraphDelegator<V,E>
e
 edge on which to set weightweight
 new weight for edgeWeightedGraph.setEdgeWeight(E, double)
public double getEdgeWeight(E e)
GraphDelegator
WeightedGraph.DEFAULT_EDGE_WEIGHT
), allowing weightedgraph algorithms to apply to
them where meaningful.getEdgeWeight
in interface Graph<V,E>
getEdgeWeight
in class GraphDelegator<V,E>
e
 edge of interestGraph.getEdgeWeight(E)
Copyright © 2017. All rights reserved.