org.argouml.uml.diagram.sequence
Class SequenceDiagramGraphModel

java.lang.Object
  extended byorg.tigris.gef.graph.MutableGraphSupport
      extended byorg.argouml.uml.diagram.UMLMutableGraphSupport
          extended byorg.argouml.uml.diagram.sequence.SequenceDiagramGraphModel
All Implemented Interfaces:
org.tigris.gef.graph.BaseGraphModel, java.util.EventListener, org.tigris.gef.graph.GraphModel, org.tigris.gef.graph.MutableGraphModel, java.io.Serializable, java.beans.VetoableChangeListener

public class SequenceDiagramGraphModel
extends UMLMutableGraphSupport
implements java.beans.VetoableChangeListener

This class defines a bridge between the UML meta-model representation of the design and the GraphModel interface used by GEF. This class handles only UML Sequence Digrams.

See Also:
Serialized Form

Nested Class Summary
private  class SequenceDiagramGraphModel.CanConnectCallActionCmd
           
private  class SequenceDiagramGraphModel.CanConnectCmd
           
private  class SequenceDiagramGraphModel.CanConnectCreateActionCmd
           
private  class SequenceDiagramGraphModel.CanConnectDestroyActionCmd
           
private  class SequenceDiagramGraphModel.CanConnectReturnActionCmd
           
 
Field Summary
private  java.lang.Object _collaboration
          The collaboration this sequence diagram belongs too.
private  java.lang.Object _interaction
          The interaction that is shown on the sequence diagram
protected static org.apache.log4j.Logger cat
          Deprecated. by Linus Tolke as of 0.15.4. Use your own logger in your class. This will be removed.
 
Fields inherited from class org.argouml.uml.diagram.UMLMutableGraphSupport
_edges, _nodes
 
Fields inherited from class org.tigris.gef.graph.MutableGraphSupport
_graphListeners
 
Constructor Summary
SequenceDiagramGraphModel(java.lang.Object collaboration)
          Default constructor.
 
Method Summary
 void addEdge(java.lang.Object edge)
          Adds an edge to the model if this is allowed.
 void addNode(java.lang.Object node)
          Add the given node to the graph, if valid.
 void addNodeRelatedEdges(java.lang.Object node)
           
 boolean canAddEdge(java.lang.Object edge)
          Return true if the given object is a valid edge in this graph
 boolean canAddNode(java.lang.Object node)
          Return true if the given object is a valid node in this graph
 boolean canConnect(java.lang.Object fromP, java.lang.Object toP)
          Return true if the two given ports can be connected by a kind of edge to be determined by the ports.
 java.lang.Object connect(java.lang.Object fromPort, java.lang.Object toPort, java.lang.Class edgeClass)
          Creates a link based on the given from and toPort.
 java.lang.Object getCollaboration()
          Gets the collaboration that is shown on the sequence diagram.
 java.lang.Object getDestPort(java.lang.Object edge)
          Return the other end of an edge
 java.util.Vector getEdges()
          Return all edges in the graph
 java.util.Vector getInEdges(java.lang.Object port)
          Return all edges going to given port
private  java.lang.Object getInteraction()
           
 java.util.Vector getNodes()
          Return all nodes in the graph
 java.util.Vector getOutEdges(java.lang.Object port)
          Return all edges going from given port
 java.lang.Object getOwner(java.lang.Object port)
          Return the node or edge that owns the given port
 java.util.Vector getPorts(java.lang.Object nodeOrEdge)
          Return all ports on node or edge
 java.lang.Object getSourcePort(java.lang.Object edge)
          Return one end of an edge
 void setCollaboration(java.lang.Object collaboration)
          Sets the collaboration that is shown at the sequence diagram.
 void vetoableChange(java.beans.PropertyChangeEvent pce)
           
 
Methods inherited from class org.argouml.uml.diagram.UMLMutableGraphSupport
connect, constainsEdge, containsNode, removeEdge, removeNode
 
Methods inherited from class org.tigris.gef.graph.MutableGraphSupport
addGraphEventListener, canChangeConnectedNode, canConnect, canDragNode, changeConnectedNode, containsEdge, containsEdgePort, containsNodePort, containsPort, createNode, dragNode, fireEdgeAdded, fireEdgeRemoved, fireGraphChanged, fireNodeAdded, fireNodeRemoved, getGraphListeners, removeGraphEventListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cat

protected static org.apache.log4j.Logger cat
Deprecated. by Linus Tolke as of 0.15.4. Use your own logger in your class. This will be removed.


_collaboration

private java.lang.Object _collaboration
The collaboration this sequence diagram belongs too.


_interaction

private java.lang.Object _interaction
The interaction that is shown on the sequence diagram

Constructor Detail

SequenceDiagramGraphModel

public SequenceDiagramGraphModel(java.lang.Object collaboration)
Default constructor. Constructs a model and a collaboration in the root of the current project.

Method Detail

getNodes

public java.util.Vector getNodes()
Return all nodes in the graph

Specified by:
getNodes in interface org.tigris.gef.graph.GraphModel
Overrides:
getNodes in class UMLMutableGraphSupport
Returns:
Vector of nodes in the graphmodel/diagram
See Also:
GraphModel.getNodes()

getEdges

public java.util.Vector getEdges()
Return all edges in the graph

Specified by:
getEdges in interface org.tigris.gef.graph.GraphModel
Overrides:
getEdges in class UMLMutableGraphSupport
Returns:
Vector of edges in the graphmodel/diagram

getPorts

public java.util.Vector getPorts(java.lang.Object nodeOrEdge)
Return all ports on node or edge

Specified by:
getPorts in interface org.tigris.gef.graph.GraphModel

getOwner

public java.lang.Object getOwner(java.lang.Object port)
Return the node or edge that owns the given port

Specified by:
getOwner in interface org.tigris.gef.graph.BaseGraphModel

getInEdges

public java.util.Vector getInEdges(java.lang.Object port)
Return all edges going to given port

Specified by:
getInEdges in interface org.tigris.gef.graph.GraphModel

getOutEdges

public java.util.Vector getOutEdges(java.lang.Object port)
Return all edges going from given port

Specified by:
getOutEdges in interface org.tigris.gef.graph.GraphModel

getSourcePort

public java.lang.Object getSourcePort(java.lang.Object edge)
Return one end of an edge

Specified by:
getSourcePort in interface org.tigris.gef.graph.BaseGraphModel

getDestPort

public java.lang.Object getDestPort(java.lang.Object edge)
Return the other end of an edge

Specified by:
getDestPort in interface org.tigris.gef.graph.BaseGraphModel

canAddNode

public boolean canAddNode(java.lang.Object node)
Return true if the given object is a valid node in this graph

Specified by:
canAddNode in interface org.tigris.gef.graph.MutableGraphModel

canAddEdge

public boolean canAddEdge(java.lang.Object edge)
Return true if the given object is a valid edge in this graph

Specified by:
canAddEdge in interface org.tigris.gef.graph.MutableGraphModel

addNode

public void addNode(java.lang.Object node)
Add the given node to the graph, if valid.

Specified by:
addNode in interface org.tigris.gef.graph.MutableGraphModel

addEdge

public void addEdge(java.lang.Object edge)
Adds an edge to the model if this is allowed. If the edge is a link, an associationrole and a stimulus to accompany this link are build.

Specified by:
addEdge in interface org.tigris.gef.graph.MutableGraphModel
See Also:
MutableGraphModel.addEdge(java.lang.Object)

addNodeRelatedEdges

public void addNodeRelatedEdges(java.lang.Object node)
Specified by:
addNodeRelatedEdges in interface org.tigris.gef.graph.MutableGraphModel

canConnect

public boolean canConnect(java.lang.Object fromP,
                          java.lang.Object toP)
Return true if the two given ports can be connected by a kind of edge to be determined by the ports.

Specified by:
canConnect in interface org.tigris.gef.graph.MutableGraphModel
Overrides:
canConnect in class UMLMutableGraphSupport

connect

public java.lang.Object connect(java.lang.Object fromPort,
                                java.lang.Object toPort,
                                java.lang.Class edgeClass)
Creates a link based on the given from and toPort. The fromPort should allways point to a LinkCoordinates instance. The toPort can point to a LinkCoordinates instance or to a Object instance. On a sequence diagram you can only draw Links. So other edgeClasses then links are not supported.

Specified by:
connect in interface org.tigris.gef.graph.MutableGraphModel
Overrides:
connect in class UMLMutableGraphSupport
Parameters:
fromPort - The originating port to connect
toPort - The destination port to connect
edgeClass - The NSUML type of edge to create.
Returns:
The type of edge created (the same as edgeClass if we succeeded, null otherwise)
See Also:
MutableGraphModel.connect( Object, Object, Class)

vetoableChange

public void vetoableChange(java.beans.PropertyChangeEvent pce)
Specified by:
vetoableChange in interface java.beans.VetoableChangeListener

getCollaboration

public java.lang.Object getCollaboration()
Gets the collaboration that is shown on the sequence diagram.

Returns:
the collaboration of the diagram.

setCollaboration

public void setCollaboration(java.lang.Object collaboration)
Sets the collaboration that is shown at the sequence diagram.

Parameters:
collaboration -

getInteraction

private java.lang.Object getInteraction()


ArgoUML © 1996-2004 (20040316)ArgoUML HomepageArgoUML Developers' pageArgoUML Cookbook