Class AsWeightedDirectedGraph<V,E>
- java.lang.Object
-
- org.jgrapht.graph.AbstractGraph<V,E>
-
- org.jgrapht.graph.GraphDelegator<V,E>
-
- org.jgrapht.graph.AsWeightedGraph<V,E>
-
- org.jgrapht.graph.AsWeightedDirectedGraph<V,E>
-
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
java.io.Serializable
,DirectedGraph<V,E>
,Graph<V,E>
,WeightedGraph<V,E>
public class AsWeightedDirectedGraph<V,E> extends AsWeightedGraph<V,E> implements DirectedGraph<V,E>
A weighted view of the backing graph specified in the constructor. This allows you 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.
- Since:
- Aug 20, 2015
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static long
serialVersionUID
-
Fields inherited from class org.jgrapht.graph.AsWeightedGraph
weightMap
-
Fields inherited from interface org.jgrapht.WeightedGraph
DEFAULT_EDGE_WEIGHT
-
-
Constructor Summary
Constructors Constructor Description AsWeightedDirectedGraph(DirectedGraph<V,E> g, java.util.Map<E,java.lang.Double> weightMap)
Constructor for AsWeightedGraph.
-
Method Summary
-
Methods inherited from class org.jgrapht.graph.AsWeightedGraph
getEdgeWeight, setEdgeWeight
-
Methods inherited from class org.jgrapht.graph.GraphDelegator
addEdge, addEdge, addVertex, containsEdge, containsVertex, degreeOf, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeFactory, getEdgeSource, getEdgeTarget, incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf, removeEdge, removeEdge, removeVertex, toString, vertexSet
-
Methods inherited from class org.jgrapht.graph.AbstractGraph
assertVertexExist, containsEdge, equals, hashCode, removeAllEdges, removeAllEdges, removeAllEdges, removeAllVertices, toStringFromSets
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jgrapht.DirectedGraph
incomingEdgesOf, inDegreeOf, outDegreeOf, outgoingEdgesOf
-
Methods inherited from interface org.jgrapht.Graph
addEdge, addEdge, addVertex, containsEdge, containsEdge, containsVertex, edgeSet, edgesOf, getAllEdges, getEdge, getEdgeFactory, getEdgeSource, getEdgeTarget, getEdgeWeight, removeAllEdges, removeAllEdges, removeAllVertices, removeEdge, removeEdge, removeVertex, vertexSet
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AsWeightedDirectedGraph
public AsWeightedDirectedGraph(DirectedGraph<V,E> g, java.util.Map<E,java.lang.Double> weightMap)
Constructor for AsWeightedGraph.- Parameters:
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
-
-