FindBugs™ 1.3.9

edu.umd.cs.findbugs.graph
Interface Graph<EdgeType extends GraphEdge<EdgeType,VertexType>,VertexType extends GraphVertex<VertexType>>

All Known Implementing Classes:
AbstractGraph, CallGraph, CFG, ConstraintGraph, InheritanceGraph, InterproceduralCallGraph

public interface Graph<EdgeType extends GraphEdge<EdgeType,VertexType>,VertexType extends GraphVertex<VertexType>>

Graph interface; defines the operations used to access and manipulate a graph.


Method Summary
 void addVertex(VertexType v)
          Add given vertex to the graph.
 boolean containsVertex(VertexType v)
          Determine if the graph contains the given vertex.
 EdgeType createEdge(VertexType source, VertexType target)
          Add a new edge to the graph.
 java.util.Iterator<EdgeType> edgeIterator()
          Get Iterator over all edges in the graph.
 int getNumEdgeLabels()
          Get the number of numeric labels that have been assigned to edges.
 int getNumEdges()
          Get number of edges in the graph.
 int getNumIncomingEdges(VertexType vertex)
          Get number of edges going into given vertex.
 int getNumOutgoingEdges(VertexType vertex)
          Get number of edges going out of given vertex.
 int getNumVertexLabels()
          Get the number of numeric (integer) labels that have been assigned to vertices in the graph.
 int getNumVertices()
          Get number of vertices in the graph.
 java.util.Iterator<EdgeType> incomingEdgeIterator(VertexType target)
          Get an Iterator over incoming edges to a given vertex.
 EdgeType lookupEdge(VertexType source, VertexType target)
          Look up an edge by source and target vertex.
 java.util.Iterator<EdgeType> outgoingEdgeIterator(VertexType source)
          Get an Iterator over outgoing edges from given vertex.
 java.util.Iterator<VertexType> predecessorIterator(VertexType target)
          Get an iterator over the predecessors of this vertex; i.e., the sources of the vertex's incoming edges.
 void removeEdge(EdgeType e)
          Remove given edge from the graph.
 void removeVertex(VertexType v)
          Remove given vertex from the graph.
 void setNumEdgeLabels(int numLabels)
          Reset the number of edge labels.
 void setNumVertexLabels(int numLabels)
          Reset number of (integer) labels.
 java.util.Iterator<VertexType> successorIterator(VertexType source)
          Get an iterator over the successors of this vertex; i.e., the targets of the vertex's outgoing edges.
 java.util.Iterator<VertexType> vertexIterator()
          Get Iterator over all vertices in the graph.
 

Method Detail

getNumEdges

int getNumEdges()
Get number of edges in the graph.


getNumVertices

int getNumVertices()
Get number of vertices in the graph.


edgeIterator

java.util.Iterator<EdgeType> edgeIterator()
Get Iterator over all edges in the graph.


vertexIterator

java.util.Iterator<VertexType> vertexIterator()
Get Iterator over all vertices in the graph.


addVertex

void addVertex(VertexType v)
Add given vertex to the graph. The vertex should not be part of any other graph.

Parameters:
v - the vertex to add

containsVertex

boolean containsVertex(VertexType v)
Determine if the graph contains the given vertex.

Parameters:
v - the vertex
Returns:
true if the vertex is part of the graph, false if not

createEdge

EdgeType createEdge(VertexType source,
                    VertexType target)
Add a new edge to the graph. Duplicate edges (with same source and target vertices) are allowed.

Parameters:
source - the source vertex
target - the target vertex
Returns:
the new edge

lookupEdge

EdgeType lookupEdge(VertexType source,
                    VertexType target)
Look up an edge by source and target vertex. If multiple edges with same source and target vertex exist, one is selected arbitrarily.

Parameters:
source - the source vertex
target - the target vertex
Returns:
a matching edge, or null if there is no matching edge

getNumVertexLabels

int getNumVertexLabels()
Get the number of numeric (integer) labels that have been assigned to vertices in the graph. All vertices in the graph are guaranteed to have labels in the range 0..n, where n is the value returned by this method.


setNumVertexLabels

void setNumVertexLabels(int numLabels)
Reset number of (integer) labels. This might be necessary if an algorithm has assigned new labels to a graph's vertices.


getNumEdgeLabels

int getNumEdgeLabels()
Get the number of numeric labels that have been assigned to edges.


setNumEdgeLabels

void setNumEdgeLabels(int numLabels)
Reset the number of edge labels.


removeEdge

void removeEdge(EdgeType e)
Remove given edge from the graph.


removeVertex

void removeVertex(VertexType v)
Remove given vertex from the graph. Note that all edges referencing the vertex will be removed.


outgoingEdgeIterator

java.util.Iterator<EdgeType> outgoingEdgeIterator(VertexType source)
Get an Iterator over outgoing edges from given vertex.

Parameters:
source - the source vertex
Returns:
an Iterator over outgoing edges

incomingEdgeIterator

java.util.Iterator<EdgeType> incomingEdgeIterator(VertexType target)
Get an Iterator over incoming edges to a given vertex.

Parameters:
target - the target vertex
Returns:
an Iterator over incoming edges

getNumIncomingEdges

int getNumIncomingEdges(VertexType vertex)
Get number of edges going into given vertex.

Parameters:
vertex - the vertex
Returns:
number of edges going into the vertex

getNumOutgoingEdges

int getNumOutgoingEdges(VertexType vertex)
Get number of edges going out of given vertex.

Parameters:
vertex - the vertex
Returns:
number of edges going out of the vertex

successorIterator

java.util.Iterator<VertexType> successorIterator(VertexType source)
Get an iterator over the successors of this vertex; i.e., the targets of the vertex's outgoing edges.

Parameters:
source - the source vertex
Returns:
an Iterator over the successors of the vertex

predecessorIterator

java.util.Iterator<VertexType> predecessorIterator(VertexType target)
Get an iterator over the predecessors of this vertex; i.e., the sources of the vertex's incoming edges.

Parameters:
target - the target vertex
Returns:
an Iterator over the predecessors of the vertex

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.