Class PredicatedParallelEdgeIndexFunction<V,E>
- java.lang.Object
-
- edu.uci.ics.jung.visualization.util.PredicatedParallelEdgeIndexFunction<V,E>
-
- All Implemented Interfaces:
EdgeIndexFunction<V,E>
public class PredicatedParallelEdgeIndexFunction<V,E> extends java.lang.Object implements EdgeIndexFunction<V,E>
A class which creates and maintains indices for parallel edges. Edges are evaluated by a Predicate function and those that evaluate to true are excluded from computing a parallel offset
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<E,java.lang.Integer>
edge_index
protected com.google.common.base.Predicate<E>
predicate
-
Constructor Summary
Constructors Modifier Constructor Description private
PredicatedParallelEdgeIndexFunction()
-
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 for the specified edge.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>
PredicatedParallelEdgeIndexFunction<V,E>getInstance()
com.google.common.base.Predicate<E>
getPredicate()
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.void
setPredicate(com.google.common.base.Predicate<E> predicate)
-
-
-
Method Detail
-
getInstance
public static <V,E> PredicatedParallelEdgeIndexFunction<V,E> getInstance()
-
getIndex
public int getIndex(Graph<V,E> graph, E e)
Returns the index for the specified edge. Calculates the indices fore
and for all edges parallel toe
.- Specified by:
getIndex
in interfaceEdgeIndexFunction<V,E>
- Parameters:
graph
- the graph with respect to which the index is calculatede
- the edge whose index is to be calculated- Returns:
- the index of the edge with respect to this index function
-
getPredicate
public com.google.common.base.Predicate<E> getPredicate()
-
setPredicate
public void setPredicate(com.google.common.base.Predicate<E> predicate)
-
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 in this graph.- Specified by:
reset
in interfaceEdgeIndexFunction<V,E>
- Parameters:
graph
- the graph with respect to which the index is calculatede
- the edge whose indices are to be reset forgraph
-
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>
-
-