edu.umd.cs.findbugs.graph
Class AbstractVertex<EdgeType extends AbstractEdge<EdgeType,ActualVertexType>,ActualVertexType extends AbstractVertex<EdgeType,ActualVertexType>>

java.lang.Object
  extended by edu.umd.cs.findbugs.graph.AbstractVertex<EdgeType,ActualVertexType>
All Implemented Interfaces:
GraphVertex<ActualVertexType>, java.lang.Comparable<ActualVertexType>
Direct Known Subclasses:
BasicBlock, CallGraphNode, DetectorNode, ObjectType

public class AbstractVertex<EdgeType extends AbstractEdge<EdgeType,ActualVertexType>,ActualVertexType extends AbstractVertex<EdgeType,ActualVertexType>>
extends java.lang.Object
implements GraphVertex<ActualVertexType>

GraphVertex implementation for use with AbstractGraph.

Author:
David Hovemeyer
See Also:
GraphVertex, AbstractGraph, AbstractEdge

Field Summary
(package private)  EdgeType firstIncomingEdge
           
(package private)  EdgeType firstOutgoingEdge
           
private  int id
           
private  int label
           
(package private)  EdgeType lastIncomingEdge
           
(package private)  EdgeType lastOutgoingEdge
           
 
Constructor Summary
AbstractVertex()
           
 
Method Summary
(package private)  void addIncomingEdge(EdgeType edge)
           
(package private)  void addOutgoingEdge(EdgeType edge)
           
 int compareTo(ActualVertexType other)
           
(package private)  EdgeType getFirstIncomingEdge()
           
(package private)  EdgeType getFirstOutgoingEdge()
           
(package private)  int getId()
           
 int getLabel()
          Get the numeric label for this vertex.
(package private)  void removeIncomingEdge(EdgeType edge)
           
(package private)  void removeOutgoingEdge(EdgeType edge)
           
(package private)  void setId(int id)
           
 void setLabel(int label)
          Set the numeric label for this vertex.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

id

private int id

label

private int label

firstIncomingEdge

EdgeType extends AbstractEdge<EdgeType,ActualVertexType> firstIncomingEdge

lastIncomingEdge

EdgeType extends AbstractEdge<EdgeType,ActualVertexType> lastIncomingEdge

firstOutgoingEdge

EdgeType extends AbstractEdge<EdgeType,ActualVertexType> firstOutgoingEdge

lastOutgoingEdge

EdgeType extends AbstractEdge<EdgeType,ActualVertexType> lastOutgoingEdge
Constructor Detail

AbstractVertex

public AbstractVertex()
Method Detail

setId

void setId(int id)

getId

int getId()

getLabel

public int getLabel()
Description copied from interface: GraphVertex
Get the numeric label for this vertex.

Specified by:
getLabel in interface GraphVertex<ActualVertexType extends AbstractVertex<EdgeType,ActualVertexType>>

setLabel

public void setLabel(int label)
Description copied from interface: GraphVertex
Set the numeric label for this vertex.

Specified by:
setLabel in interface GraphVertex<ActualVertexType extends AbstractVertex<EdgeType,ActualVertexType>>

compareTo

public int compareTo(ActualVertexType other)
Specified by:
compareTo in interface java.lang.Comparable<ActualVertexType extends AbstractVertex<EdgeType,ActualVertexType>>

addOutgoingEdge

void addOutgoingEdge(EdgeType edge)

getFirstOutgoingEdge

EdgeType getFirstOutgoingEdge()

addIncomingEdge

void addIncomingEdge(EdgeType edge)

getFirstIncomingEdge

EdgeType getFirstIncomingEdge()

removeIncomingEdge

void removeIncomingEdge(EdgeType edge)

removeOutgoingEdge

void removeOutgoingEdge(EdgeType edge)