edu.umd.cs.findbugs.graph
Class AbstractEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType>,VertexType extends AbstractVertex<ActualEdgeType,VertexType>>

java.lang.Object
  extended by edu.umd.cs.findbugs.graph.AbstractEdge<ActualEdgeType,VertexType>
All Implemented Interfaces:
GraphEdge<ActualEdgeType,VertexType>, java.lang.Comparable<ActualEdgeType>
Direct Known Subclasses:
CallGraphEdge, ConstraintEdge, Edge, InheritanceGraphEdge

public class AbstractEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType>,VertexType extends AbstractVertex<ActualEdgeType,VertexType>>
extends java.lang.Object
implements GraphEdge<ActualEdgeType,VertexType>

GraphEdge implementation for use with AbstractGraph.

Author:
David Hovemeyer
See Also:
GraphEdge, AbstractGraph, AbstractVertex

Field Summary
private  int label
           
private  ActualEdgeType nextIncomingEdge
           
private  ActualEdgeType nextOutgoingEdge
           
private  VertexType source
           
private  VertexType target
           
 
Constructor Summary
AbstractEdge(VertexType source, VertexType target)
          Constructor.
 
Method Summary
 int compareTo(ActualEdgeType other)
           
 int getLabel()
          Get the integer label.
(package private)  ActualEdgeType getNextIncomingEdge()
           
(package private)  ActualEdgeType getNextOutgoingEdge()
           
 VertexType getSource()
          Get the source vertex.
 VertexType getTarget()
          Get the target vertex.
 void setLabel(int label)
          Set the integer label.
(package private)  void setNextIncomingEdge(ActualEdgeType edge)
           
(package private)  void setNextOutgoingEdge(ActualEdgeType edge)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

source

private VertexType extends AbstractVertex<ActualEdgeType,VertexType> source

target

private VertexType extends AbstractVertex<ActualEdgeType,VertexType> target

label

private int label

nextOutgoingEdge

private ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType> nextOutgoingEdge

nextIncomingEdge

private ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType> nextIncomingEdge
Constructor Detail

AbstractEdge

public AbstractEdge(VertexType source,
                    VertexType target)
Constructor.

Parameters:
source - the source vertex of the edge
target - the target vertex of the edge
Method Detail

getSource

public VertexType getSource()
Description copied from interface: GraphEdge
Get the source vertex.

Specified by:
getSource in interface GraphEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType>,VertexType extends AbstractVertex<ActualEdgeType,VertexType>>

getTarget

public VertexType getTarget()
Description copied from interface: GraphEdge
Get the target vertex.

Specified by:
getTarget in interface GraphEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType>,VertexType extends AbstractVertex<ActualEdgeType,VertexType>>

getLabel

public int getLabel()
Description copied from interface: GraphEdge
Get the integer label.

Specified by:
getLabel in interface GraphEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType>,VertexType extends AbstractVertex<ActualEdgeType,VertexType>>

setLabel

public void setLabel(int label)
Description copied from interface: GraphEdge
Set the integer label.

Specified by:
setLabel in interface GraphEdge<ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType>,VertexType extends AbstractVertex<ActualEdgeType,VertexType>>

compareTo

public int compareTo(ActualEdgeType other)
Specified by:
compareTo in interface java.lang.Comparable<ActualEdgeType extends AbstractEdge<ActualEdgeType,VertexType>>

setNextOutgoingEdge

void setNextOutgoingEdge(ActualEdgeType edge)

getNextOutgoingEdge

ActualEdgeType getNextOutgoingEdge()

setNextIncomingEdge

void setNextIncomingEdge(ActualEdgeType edge)

getNextIncomingEdge

ActualEdgeType getNextIncomingEdge()