edu.uci.ics.jung.visualization.util
Class PredicatedParallelEdgeIndexFunction<V,E>

java.lang.Object
  extended by edu.uci.ics.jung.visualization.util.PredicatedParallelEdgeIndexFunction<V,E>
All Implemented Interfaces:
EdgeIndexFunction<V,E>

public class PredicatedParallelEdgeIndexFunction<V,E>
extends 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

Author:
Tom Nelson

Field Summary
protected  Map<E,Integer> edge_index
           
protected  org.apache.commons.collections15.Predicate<E> predicate
           
 
Method Summary
 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()
           
 org.apache.commons.collections15.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(org.apache.commons.collections15.Predicate<E> predicate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

edge_index

protected Map<E,Integer> edge_index

predicate

protected org.apache.commons.collections15.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 for e and for all edges parallel to e.

Specified by:
getIndex in interface EdgeIndexFunction<V,E>
Parameters:
graph - the graph in which the edge is to be queried
e - the edge whose index is to be queried
Returns:
e's index in graph

getIndex

protected int getIndex(Graph<V,E> graph,
                       E e,
                       V v,
                       V u)

getIndex

protected int getIndex(Graph<V,E> graph,
                       E e,
                       V v)

getPredicate

public org.apache.commons.collections15.Predicate<E> getPredicate()
Returns:
the predicate

setPredicate

public void setPredicate(org.apache.commons.collections15.Predicate<E> predicate)
Parameters:
predicate - the predicate to set

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 to e has been added or removed.

Specified by:
reset in interface EdgeIndexFunction<V,E>
Parameters:
e -
graph - the graph in which edge'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 interface EdgeIndexFunction<V,E>


Copyright © 2009. All Rights Reserved.