com.ibm.wala.util.graph.impl
Class InvertingNumberedEdgeManager<T>

java.lang.Object
  extended by com.ibm.wala.util.graph.impl.InvertingNumberedEdgeManager<T>
All Implemented Interfaces:
EdgeManager<T>, NumberedEdgeManager<T>

public class InvertingNumberedEdgeManager<T>
extends java.lang.Object
implements NumberedEdgeManager<T>

An edge manager that reverses the edges in a graph


Constructor Summary
InvertingNumberedEdgeManager(NumberedEdgeManager<T> original)
           
 
Method Summary
 void addEdge(T src, T dst)
           
 int getPredNodeCount(T N)
          Return the number of immediate predecessor nodes of n
 IntSet getPredNodeNumbers(T node)
           
 java.util.Iterator<T> getPredNodes(T N)
          Return an Iterator over the immediate predecessor nodes of n This method never returns null.
 int getSuccNodeCount(T N)
          Return the number of immediate successor nodes of this Node in the Graph
 IntSet getSuccNodeNumbers(T node)
           
 java.util.Iterator<T> getSuccNodes(T N)
          Return an Iterator over the immediate successor nodes of n
 boolean hasEdge(T src, T dst)
           
 void removeAllIncidentEdges(T node)
           
 void removeEdge(T src, T dst)
           
 void removeIncomingEdges(T node)
           
 void removeOutgoingEdges(T node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InvertingNumberedEdgeManager

public InvertingNumberedEdgeManager(NumberedEdgeManager<T> original)
Method Detail

getPredNodes

public java.util.Iterator<T> getPredNodes(T N)
                                   throws java.lang.IllegalArgumentException
Description copied from interface: EdgeManager
Return an Iterator over the immediate predecessor nodes of n This method never returns null.

Specified by:
getPredNodes in interface EdgeManager<T>
Returns:
an Iterator over the immediate predecessor nodes of this Node.
Throws:
java.lang.IllegalArgumentException

getPredNodeCount

public int getPredNodeCount(T N)
                     throws java.lang.IllegalArgumentException
Description copied from interface: EdgeManager
Return the number of immediate predecessor nodes of n

Specified by:
getPredNodeCount in interface EdgeManager<T>
Returns:
the number of immediate predecessors of n.
Throws:
java.lang.IllegalArgumentException

getSuccNodes

public java.util.Iterator<T> getSuccNodes(T N)
                                   throws java.lang.IllegalArgumentException
Description copied from interface: EdgeManager
Return an Iterator over the immediate successor nodes of n

This method never returns null.

Specified by:
getSuccNodes in interface EdgeManager<T>
Returns:
an Iterator over the immediate successor nodes of n
Throws:
java.lang.IllegalArgumentException

getSuccNodeCount

public int getSuccNodeCount(T N)
                     throws java.lang.IllegalArgumentException
Description copied from interface: EdgeManager
Return the number of immediate successor nodes of this Node in the Graph

Specified by:
getSuccNodeCount in interface EdgeManager<T>
Returns:
the number of immediate successor Nodes of this Node in the Graph.
Throws:
java.lang.IllegalArgumentException

addEdge

public void addEdge(T src,
                    T dst)
             throws java.lang.IllegalArgumentException
Specified by:
addEdge in interface EdgeManager<T>
Throws:
java.lang.IllegalArgumentException

removeEdge

public void removeEdge(T src,
                       T dst)
                throws java.lang.IllegalArgumentException
Specified by:
removeEdge in interface EdgeManager<T>
Throws:
java.lang.IllegalArgumentException

hasEdge

public boolean hasEdge(T src,
                       T dst)
Specified by:
hasEdge in interface EdgeManager<T>

removeAllIncidentEdges

public void removeAllIncidentEdges(T node)
                            throws java.lang.IllegalArgumentException
Specified by:
removeAllIncidentEdges in interface EdgeManager<T>
Throws:
java.lang.IllegalArgumentException

removeIncomingEdges

public void removeIncomingEdges(T node)
                         throws java.lang.IllegalArgumentException
Specified by:
removeIncomingEdges in interface EdgeManager<T>
Throws:
java.lang.IllegalArgumentException

removeOutgoingEdges

public void removeOutgoingEdges(T node)
                         throws java.lang.IllegalArgumentException
Specified by:
removeOutgoingEdges in interface EdgeManager<T>
Throws:
java.lang.IllegalArgumentException

getSuccNodeNumbers

public IntSet getSuccNodeNumbers(T node)
                          throws java.lang.IllegalArgumentException
Specified by:
getSuccNodeNumbers in interface NumberedEdgeManager<T>
Returns:
the numbers identifying the immediate successors of node
Throws:
java.lang.IllegalArgumentException

getPredNodeNumbers

public IntSet getPredNodeNumbers(T node)
                          throws java.lang.IllegalArgumentException
Specified by:
getPredNodeNumbers in interface NumberedEdgeManager<T>
Returns:
the numbers identifying the immediate predecessors of node
Throws:
java.lang.IllegalArgumentException