diva.graph.modular
Interface Edge

All Superinterfaces:
PropertyContainer, SemanticObjectContainer
All Known Implementing Classes:
BasicGraphModel.BasicEdge

public interface Edge
extends SemanticObjectContainer, PropertyContainer

An edge is an object that is contained by a graph and connects nodes. An edge has a "head" and a "tail" as if it was directed, but also has a method isDirected() that says whether or not the edge should be treated as directed (e.g. should there be an arrow drawn on the head). An edge has a semantic object that is its semantic equivalent in the application and may have a visual object which is its syntactic representation in the user interface.

Version:
$Id: Edge.java 38798 2005-07-08 20:00:01Z cxh $
Author:
Michael Shilman
Accepted Rating:
Red

Method Summary
 boolean acceptHead(Node head)
          Return whether or not the given node is a valid head of this edge.
 boolean acceptTail(Node tail)
          Return whether or not the given node is a valid tail of this edge.
 Node getHead()
          Return the node at the head of this edge.
 Node getTail()
          Return the node at the tail of this edge.
 boolean isDirected()
          Return whether or not this edge is directed.
 void setHead(Node head)
          Set the node that this edge points to.
 void setTail(Node tail)
          Set the node that this edge stems from.
 
Methods inherited from interface diva.util.SemanticObjectContainer
getSemanticObject, setSemanticObject
 
Methods inherited from interface diva.util.PropertyContainer
getProperty, propertyNames, setProperty
 

Method Detail

acceptHead

boolean acceptHead(Node head)
Return whether or not the given node is a valid head of this edge.


acceptTail

boolean acceptTail(Node tail)
Return whether or not the given node is a valid tail of this edge.


getHead

Node getHead()
Return the node at the head of this edge.


getTail

Node getTail()
Return the node at the tail of this edge.


isDirected

boolean isDirected()
Return whether or not this edge is directed.


setHead

void setHead(Node head)
Set the node that this edge points to. Implementors of this method are also responsible for insuring that it is set properly as an "incoming" edge of the node, and that it is removed as an incoming edge from its previous head node.


setTail

void setTail(Node tail)
Set the node that this edge stems from. Implementors of this method are also responsible for insuring that it is set properly as an "outgoing" edge of the node, and that it is removed as an outgoing edge from its previous tail node.