Package edu.uci.ics.jung.graph.util
Class DefaultParallelEdgeIndexFunction<V,E>
- java.lang.Object
-
- edu.uci.ics.jung.graph.util.DefaultParallelEdgeIndexFunction<V,E>
-
- All Implemented Interfaces:
EdgeIndexFunction<V,E>
public class DefaultParallelEdgeIndexFunction<V,E> extends java.lang.Object implements EdgeIndexFunction<V,E>
A class which creates and maintains indices for parallel edges. Parallel edges are defined here to be the collection of edges that are returned byv.findEdgeSet(w)
for somev
andw
.At this time, users are responsible for resetting the indices (by calling
reset()
) if changes to the graph make it appropriate.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getIndex(Graph<V,E> graph, E e)
Returns the index fore
ingraph
.protected int
getIndex(Graph<V,E> graph, E e, V v)
protected int
getIndex(Graph<V,E> graph, E e, V v, V u)
static <V,E>
DefaultParallelEdgeIndexFunction<V,E>getInstance()
Returns an instance of this class.void
reset()
Clears all edge indices for all edges in all graphs.void
reset(Graph<V,E> graph, E e)
Resets the indices for this edge and its parallel edges.
-
-
-
Method Detail
-
getInstance
public static <V,E> DefaultParallelEdgeIndexFunction<V,E> getInstance()
Returns an instance of this class.- Type Parameters:
V
- the vertex typeE
- the edge type
-
getIndex
public int getIndex(Graph<V,E> graph, E e)
Returns the index fore
ingraph
. Calculates the indices fore
and for all edges parallel toe
, if they are not already assigned.- Specified by:
getIndex
in interfaceEdgeIndexFunction<V,E>
- Parameters:
graph
- the graph in which the edge is to be queriede
- the edge whose index is to be queried- Returns:
e
's index ingraph
-
reset
public void reset(Graph<V,E> graph, E e)
Resets the indices for this edge and its parallel edges. Should be invoked when an edge parallel toe
has been added or removed.- Specified by:
reset
in interfaceEdgeIndexFunction<V,E>
- Parameters:
e
-graph
- the graph in whichedge
's index is to be reset
-
reset
public void reset()
Clears all edge indices for all edges in all graphs. Does not recalculate the indices.- Specified by:
reset
in interfaceEdgeIndexFunction<V,E>
-
-