java.lang.Object
org.jgrapht.graph.BaseIntrusiveEdgesSpecifics<V,E,org.jgrapht.graph.IntrusiveWeightedEdge>
org.jgrapht.graph.WeightedIntrusiveEdgesSpecifics<V,E>
- Type Parameters:
V- the graph vertex typeE- the graph edge type
- All Implemented Interfaces:
java.io.Serializable,IntrusiveEdgesSpecifics<V,E>
public class WeightedIntrusiveEdgesSpecifics<V,E> extends BaseIntrusiveEdgesSpecifics<V,E,org.jgrapht.graph.IntrusiveWeightedEdge> implements IntrusiveEdgesSpecifics<V,E>
A weighted variant of the intrusive edges specifics.
The implementation optimizes the use of DefaultWeightedEdge and subclasses. For other
custom user edge types, a map is used to store vertex source, target and weight.
- Author:
- Barak Naveh, Dimitrios Michail
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class org.jgrapht.graph.BaseIntrusiveEdgesSpecifics
edgeMap, unmodifiableEdgeSet -
Constructor Summary
Constructors Constructor Description WeightedIntrusiveEdgesSpecifics(java.util.Map<E,org.jgrapht.graph.IntrusiveWeightedEdge> map)Constructor -
Method Summary
Modifier and Type Method Description booleanadd(E e, V sourceVertex, V targetVertex)Add a new edgedoublegetEdgeWeight(E e)Get the weight of an edge.protected org.jgrapht.graph.IntrusiveWeightedEdgegetIntrusiveEdge(E e)Get the intrusive edge of an edge.voidsetEdgeWeight(E e, double weight)Set the weight of an edgeMethods inherited from class org.jgrapht.graph.BaseIntrusiveEdgesSpecifics
addIntrusiveEdge, containsEdge, getEdgeSet, getEdgeSource, getEdgeTarget, removeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jgrapht.graph.IntrusiveEdgesSpecifics
containsEdge, getEdgeSet, getEdgeSource, getEdgeTarget, remove
-
Constructor Details
-
WeightedIntrusiveEdgesSpecifics
public WeightedIntrusiveEdgesSpecifics(java.util.Map<E,org.jgrapht.graph.IntrusiveWeightedEdge> map)Constructor- Parameters:
map- the map to use for storage
-
-
Method Details
-
add
Description copied from class:BaseIntrusiveEdgesSpecificsAdd a new edge- Specified by:
addin interfaceIntrusiveEdgesSpecifics<V,E>- Specified by:
addin classBaseIntrusiveEdgesSpecifics<V,E,org.jgrapht.graph.IntrusiveWeightedEdge>- Parameters:
e- the edgesourceVertex- the source vertex of the edgetargetVertex- the target vertex of the edge- Returns:
- true if the edge was added, false if the edge was already present
-
getEdgeWeight
Description copied from class:BaseIntrusiveEdgesSpecificsGet the weight of an edge.- Specified by:
getEdgeWeightin interfaceIntrusiveEdgesSpecifics<V,E>- Overrides:
getEdgeWeightin classBaseIntrusiveEdgesSpecifics<V,E,org.jgrapht.graph.IntrusiveWeightedEdge>- Parameters:
e- the edge- Returns:
- the weight of an edge
-
setEdgeWeight
Description copied from class:BaseIntrusiveEdgesSpecificsSet the weight of an edge- Specified by:
setEdgeWeightin interfaceIntrusiveEdgesSpecifics<V,E>- Overrides:
setEdgeWeightin classBaseIntrusiveEdgesSpecifics<V,E,org.jgrapht.graph.IntrusiveWeightedEdge>- Parameters:
e- the edgeweight- the new weight
-
getIntrusiveEdge
Description copied from class:BaseIntrusiveEdgesSpecificsGet the intrusive edge of an edge.- Specified by:
getIntrusiveEdgein classBaseIntrusiveEdgesSpecifics<V,E,org.jgrapht.graph.IntrusiveWeightedEdge>- Parameters:
e- the edge- Returns:
- the intrusive edge
-