svn commit: r19138 - trunk/src: argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram argouml-core-model-euml/src/org/argouml/model/euml argouml-core-model-mdr/src/org/argouml/model/mdr argouml-core-model/src/org/argouml/model

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2011-03-25 12:27:33-0700
New Revision: 19138

Modified:
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ActionAddClassifierRole.java
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java
   trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsFactoryMDRImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
   trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MetaTypesMDRImpl.java
   trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsFactory.java
   trunk/src/argouml-core-model/src/org/argouml/model/Facade.java
   trunk/src/argouml-core-model/src/org/argouml/model/MetaTypes.java

Log:
Allow a lifeline to be placed on a sequence diagram in UML2

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ActionAddClassifierRole.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ActionAddClassifierRole.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ActionAddClassifierRole.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/ActionAddClassifierRole.java	2011-03-25 12:27:33-0700
@@ -75,16 +75,10 @@
         Editor ce = Globals.curEditor();
         GraphModel gm = ce.getGraphModel();
         if (gm instanceof SequenceDiagramGraphModel) {
-            Object collaboration =
-                ((SequenceDiagramGraphModel) gm).getCollaboration();
+            Object owner =
+                ((SequenceDiagramGraphModel) gm).getOwner();
             node =
-                Model.getCollaborationsFactory().buildClassifierRole(
-                        collaboration);
-            /*
-            Model.getCoreHelper().setNamespace(
-                node,
-                Model.getFacade().getNamespace( collaboration));
-            */
+                Model.getCollaborationsFactory().buildLifeline(owner);
         } else {
             throw new IllegalStateException("Graphmodel is not a "
                                             + "sequence diagram graph model");

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java	2011-03-25 12:27:33-0700
@@ -201,6 +201,20 @@
         return interaction;
     }
     
+    /**
+     * In UML1.4 the sequence diagram is owned by a collaboration.
+     * In UML2 it is owned by an Interaction (which might itself be owned by a
+     * collaboration or some other namespace)
+     * @return the owner of the sequence diagram
+     */
+    public Object getOwner() {
+        if (Model.getFacade().getUmlVersion().charAt(0) == '1') {
+            return getCollaboration();
+        } else {
+            return getInteraction();
+        }
+    }
+    
     /*
      * @see org.tigris.gef.graph.MutableGraphModel#canAddNode(java.lang.Object)
      */

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java	2011-03-25 12:27:33-0700
@@ -233,7 +233,9 @@
      */
     @Override
     public boolean doesAccept(Object objectToAccept) {
-        if (Model.getFacade().isAClassifier(objectToAccept)) {
+        if (Model.getFacade().isALifeline(objectToAccept)) {
+            return true;
+        } else if (Model.getFacade().isAClassifier(objectToAccept)) {
             return true;
         } else if (Model.getFacade().isAComment(objectToAccept)) {
             return true;

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/CollaborationsFactoryEUMLImpl.java	2011-03-25 12:27:33-0700
@@ -17,6 +17,7 @@
 import org.eclipse.uml2.uml.Collaboration;
 import org.eclipse.uml2.uml.Element;
 import org.eclipse.uml2.uml.Interaction;
+import org.eclipse.uml2.uml.Lifeline;
 import org.eclipse.uml2.uml.Message;
 import org.eclipse.uml2.uml.UMLFactory;
 
@@ -78,10 +79,16 @@
     }
 
     public Object buildClassifierRole(Object collaboration) {
-        // TODO: Auto-generated method stub
-        return null;
+        throw new IllegalArgumentException(
+                "No such thing as ClassifierRole in UML2"); //$NON-NLS-1$
     }
-
+    
+    public Object buildLifeline(Object interaction) {
+        Lifeline lifeline = createLifeline();
+        lifeline.setInteraction((Interaction) interaction);
+        return lifeline;
+    }
+    
     // TODO: All build/create methods need Undo support - tfm
 
     public Collaboration buildCollaboration(Object handle) {
@@ -92,16 +99,14 @@
 
     public Collaboration buildCollaboration(Object namespace, 
             Object representedElement) {
-        Collaboration collab = buildCollaboration(namespace);
-        Classifier cls = (Classifier) representedElement;
-
-        // TODO: Auto-generated method stub
-        return collab;
+        throw new IllegalArgumentException("A collaboration is only attached to a namespace in UML2");
     }
 
-    public Object buildInteraction(Object handle) {
-        // TODO: Auto-generated method stub
-        return null;
+    public Object buildInteraction(Object collaboration) {
+        Interaction interaction = createInteraction();
+        Collaboration collab = (Collaboration) collaboration;
+        modelImpl.getCoreHelper().addOwnedElement(collab, interaction);
+        return interaction;
     }
 
     public Message buildMessage(Object acollab, Object arole) {
@@ -120,8 +125,7 @@
     }
 
     public Object createClassifierRole() {
-        // TODO: Auto-generated method stub
-        return null;
+        return UMLFactory.eINSTANCE.createLifeline();
     }
 
     public Collaboration createCollaboration() {
@@ -141,6 +145,10 @@
         // TODO: Auto-generated method stub
         return null;
     }
+    
+    public Lifeline createLifeline() {
+        return UMLFactory.eINSTANCE.createLifeline();
+    }
 
     public Message createMessage() {
         return UMLFactory.eINSTANCE.createMessage();

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java	2011-03-25 12:27:33-0700
@@ -37,107 +37,10 @@
 import org.eclipse.emf.ecore.impl.DynamicEObjectImpl;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.uml2.uml.Abstraction;
-import org.eclipse.uml2.uml.AcceptEventAction;
-import org.eclipse.uml2.uml.Action;
-import org.eclipse.uml2.uml.ActivityEdge;
-import org.eclipse.uml2.uml.ActivityNode;
-import org.eclipse.uml2.uml.ActivityPartition;
-import org.eclipse.uml2.uml.Actor;
-import org.eclipse.uml2.uml.AggregationKind;
-import org.eclipse.uml2.uml.Artifact;
-import org.eclipse.uml2.uml.Association;
-import org.eclipse.uml2.uml.AssociationClass;
-import org.eclipse.uml2.uml.Behavior;
-import org.eclipse.uml2.uml.BehavioralFeature;
-import org.eclipse.uml2.uml.CallAction;
-import org.eclipse.uml2.uml.CallEvent;
-import org.eclipse.uml2.uml.ChangeEvent;
+import org.eclipse.uml2.uml.*;
 import org.eclipse.uml2.uml.Class;
-import org.eclipse.uml2.uml.Classifier;
-import org.eclipse.uml2.uml.Collaboration;
-import org.eclipse.uml2.uml.CollaborationUse;
-import org.eclipse.uml2.uml.Comment;
-import org.eclipse.uml2.uml.Component;
-import org.eclipse.uml2.uml.Constraint;
-import org.eclipse.uml2.uml.CreateObjectAction;
-import org.eclipse.uml2.uml.DataType;
-import org.eclipse.uml2.uml.Dependency;
-import org.eclipse.uml2.uml.DestroyObjectAction;
-import org.eclipse.uml2.uml.DirectedRelationship;
-import org.eclipse.uml2.uml.Element;
-import org.eclipse.uml2.uml.ElementImport;
-import org.eclipse.uml2.uml.Enumeration;
-import org.eclipse.uml2.uml.EnumerationLiteral;
-import org.eclipse.uml2.uml.Event;
-import org.eclipse.uml2.uml.Expression;
-import org.eclipse.uml2.uml.Extend;
-import org.eclipse.uml2.uml.Extension;
-import org.eclipse.uml2.uml.ExtensionPoint;
-import org.eclipse.uml2.uml.Feature;
-import org.eclipse.uml2.uml.FinalState;
-import org.eclipse.uml2.uml.Generalization;
-import org.eclipse.uml2.uml.GeneralizationSet;
-import org.eclipse.uml2.uml.Include;
-import org.eclipse.uml2.uml.InputPin;
-import org.eclipse.uml2.uml.InstanceSpecification;
-import org.eclipse.uml2.uml.Interface;
-import org.eclipse.uml2.uml.LiteralBoolean;
-import org.eclipse.uml2.uml.LiteralInteger;
-import org.eclipse.uml2.uml.LiteralString;
-import org.eclipse.uml2.uml.LiteralUnlimitedNatural;
-import org.eclipse.uml2.uml.Message;
-import org.eclipse.uml2.uml.Model;
-import org.eclipse.uml2.uml.MultiplicityElement;
-import org.eclipse.uml2.uml.NamedElement;
-import org.eclipse.uml2.uml.Namespace;
-import org.eclipse.uml2.uml.Node;
-import org.eclipse.uml2.uml.ObjectFlow;
-import org.eclipse.uml2.uml.ObjectNode;
-import org.eclipse.uml2.uml.OpaqueBehavior;
-import org.eclipse.uml2.uml.OpaqueExpression;
-import org.eclipse.uml2.uml.Operation;
-import org.eclipse.uml2.uml.OutputPin;
-import org.eclipse.uml2.uml.PackageImport;
-import org.eclipse.uml2.uml.PackageableElement;
-import org.eclipse.uml2.uml.Parameter;
-import org.eclipse.uml2.uml.ParameterDirectionKind;
-import org.eclipse.uml2.uml.PrimitiveType;
-import org.eclipse.uml2.uml.Profile;
-import org.eclipse.uml2.uml.ProfileApplication;
-import org.eclipse.uml2.uml.Property;
-import org.eclipse.uml2.uml.Pseudostate;
-import org.eclipse.uml2.uml.PseudostateKind;
-import org.eclipse.uml2.uml.Reception;
-import org.eclipse.uml2.uml.RedefinableElement;
-import org.eclipse.uml2.uml.Region;
-import org.eclipse.uml2.uml.Relationship;
-import org.eclipse.uml2.uml.SendObjectAction;
-import org.eclipse.uml2.uml.SendSignalAction;
-import org.eclipse.uml2.uml.Signal;
-import org.eclipse.uml2.uml.SignalEvent;
-import org.eclipse.uml2.uml.State;
-import org.eclipse.uml2.uml.StateMachine;
-import org.eclipse.uml2.uml.Stereotype;
-import org.eclipse.uml2.uml.StructuralFeature;
-import org.eclipse.uml2.uml.TemplateBinding;
-import org.eclipse.uml2.uml.TemplateParameter;
-import org.eclipse.uml2.uml.TemplateParameterSubstitution;
-import org.eclipse.uml2.uml.TemplateableElement;
-import org.eclipse.uml2.uml.TimeEvent;
-import org.eclipse.uml2.uml.Transition;
-import org.eclipse.uml2.uml.Trigger;
-import org.eclipse.uml2.uml.Type;
-import org.eclipse.uml2.uml.TypedElement;
-import org.eclipse.uml2.uml.UMLPackage;
-import org.eclipse.uml2.uml.Usage;
-import org.eclipse.uml2.uml.UseCase;
-import org.eclipse.uml2.uml.ValueSpecification;
-import org.eclipse.uml2.uml.Vertex;
-import org.eclipse.uml2.uml.VisibilityKind;
 import org.eclipse.uml2.uml.resource.UMLResource;
 
-
 /**
  * The implementation of the Facade for EUML2.
  * 
@@ -364,8 +267,16 @@
     }
 
     public Collection getBases(Object handle) {
-        throw new NotYetImplementedException();
-
+        if (!(handle instanceof Lifeline)) {
+            throw new IllegalArgumentException(
+                    "Lifeline expected - got " + handle); //$NON-NLS-1$
+        }
+        Lifeline lifeline = (Lifeline) handle;
+        List bases = new ArrayList(1);
+        if (lifeline.getRepresents() != null) {
+            bases.add(lifeline.getRepresents());
+        }
+        return bases;
     }
 
     public Object getBehavioralFeature(Object handle) {
@@ -1882,10 +1793,7 @@
     }
 
     public boolean isAClassifierRole(Object handle) {
-        // TODO: In UML 2.0, ClassifierRole, AssociationRole, and
-        // AssociationEndRole have been replaced by the internal 
-        // structure of the Collaboration
-        return false;
+        return handle instanceof Lifeline;
     }
 
     public boolean isACollaboration(Object handle) {
@@ -2041,6 +1949,10 @@
         return handle instanceof Interface;
     }
 
+    public boolean isALifeline(Object handle) {
+        return handle instanceof Lifeline;
+    }
+    
     public boolean isALink(Object handle) {
         // TODO: check semantics here - tfm
         if (!(handle instanceof InstanceSpecification)) {

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/MetaTypesEUMLImpl.java	2011-03-25 12:27:33-0700
@@ -684,6 +684,10 @@
         return null /*InteractionInstanceSet.class*/;
     }
 
+    public Object getLifeline() {
+        return Lifeline.class;
+    }
+
     public Object getLinkEnd() {
         // TODO: Need UML 2.x equivalent
         return null /*LinkEnd.class*/;

Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java	(original)
+++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java	2011-03-25 12:27:33-0700
@@ -355,6 +355,8 @@
                     "Attempt to instantiate abstract type"); //$NON-NLS-1$
         } else if (elementType == metaTypes.getClassifierRole()) {
             o = modelImpl.getCollaborationsFactory().createClassifierRole();
+        } else if (elementType == metaTypes.getLifeline()) {
+            o = modelImpl.getCollaborationsFactory().createLifeline();
         } else if (elementType == metaTypes.getComponent()) {
             o = modelImpl.getCoreFactory().createComponent();
         } else if (elementType == metaTypes.getComponentInstance()) {

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsFactoryMDRImpl.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsFactoryMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CollaborationsFactoryMDRImpl.java	2011-03-25 12:27:33-0700
@@ -111,10 +111,7 @@
 
 
     public ClassifierRole createClassifierRole() {
-        ClassifierRole myClassifierRole =
-            getCollabPkg().getClassifierRole().createClassifierRole();
-        super.initialize(myClassifierRole);
-        return myClassifierRole;
+        return createLifeline();
     }
 
 
@@ -151,6 +148,13 @@
         return obj;
     }
 
+    public ClassifierRole createLifeline() {
+        ClassifierRole myClassifierRole =
+            getCollabPkg().getClassifierRole().createClassifierRole();
+        super.initialize(myClassifierRole);
+        return myClassifierRole;
+    }
+
     
     public Message createMessage() {
         Message myMessage =
@@ -216,7 +220,15 @@
         inter.setName("newInteraction");
         return inter;
     }
-
+    
+    public ClassifierRole buildLifeline(Object collaboration) {
+        Collaboration myCollaboration = (Collaboration) collaboration;
+        ClassifierRole classifierRole = createClassifierRole();
+        classifierRole.setNamespace(myCollaboration);
+        modelImpl.getCoreHelper().setMultiplicity(classifierRole, 1, 1);
+        return classifierRole;
+    }
+    
 
     public AssociationEndRole buildAssociationEndRole(Object atype) {
         ClassifierRole type = (ClassifierRole) atype;
@@ -225,8 +237,6 @@
         return end;
     }
 
-    
-
     public AssociationRole buildAssociationRole(Object from, Object to) {
         return buildAssociationRole((ClassifierRole) from, (ClassifierRole) to);
     }

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java	2011-03-25 12:27:33-0700
@@ -526,6 +526,10 @@
     public boolean isAInterface(Object handle) {
         return handle instanceof Interface;
     }
+    
+    public boolean isALifeline(Object handle) {
+        return handle instanceof ClassifierRole;
+    }
 
     public boolean isALink(Object handle) {
         return handle instanceof Link;

Modified: trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MetaTypesMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MetaTypesMDRImpl.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MetaTypesMDRImpl.java	(original)
+++ trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/MetaTypesMDRImpl.java	2011-03-25 12:27:33-0700
@@ -432,6 +432,10 @@
         return Interface.class;
     }
 
+    public Object getLifeline() {
+        return ClassifierRole.class;
+    }
+    
     public Object getLink() {
         return Link.class;
     }

Modified: trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsFactory.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsFactory.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/CollaborationsFactory.java	2011-03-25 12:27:33-0700
@@ -64,6 +64,13 @@
     Object createClassifierRole();
 
     /**
+     * Create an empty but initialized instance of a UML ClassifierRole.
+     *
+     * @return an initialized UML ClassifierRole instance.
+     */
+    Object createLifeline();
+    
+    /**
      * Create an empty but initialized instance of a UML Collaboration.
      *
      * @return an initialized UML Collaboration instance.
@@ -198,6 +205,15 @@
      * @return the newly created association role (an Object)
      */
     Object buildAssociationRole(Object link);
+    
+    /**
+     * Creates a lifeline and adds it to the given interaction.
+     *
+     * @param interaction the given interaction
+     * @return the created lifeline
+     */
+    Object buildLifeline(Object interaction);
+
 
     /**
      * Builds a message within some collaboration or interaction.

Modified: trunk/src/argouml-core-model/src/org/argouml/model/Facade.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/Facade.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/Facade.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/Facade.java	2011-03-25 12:27:33-0700
@@ -674,6 +674,15 @@
     boolean isAInterface(Object handle);
 
     /**
+     * Recognizer for Lifeline.
+     *
+     * @param handle candidate
+     * @return true if handle is a Lifeline
+     */
+    boolean isALifeline(Object handle);
+
+    
+    /**
      * Recognizer for Link.
      *
      * @param handle candidate

Modified: trunk/src/argouml-core-model/src/org/argouml/model/MetaTypes.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/src/org/argouml/model/MetaTypes.java?view=diff&pathrev=19138&r1=19137&r2=19138
==============================================================================
--- trunk/src/argouml-core-model/src/org/argouml/model/MetaTypes.java	(original)
+++ trunk/src/argouml-core-model/src/org/argouml/model/MetaTypes.java	2011-03-25 12:27:33-0700
@@ -352,6 +352,11 @@
     Object getInterface();
 
     /**
+     * @return Returns the Lifeline.
+     */
+    Object getLifeline();
+
+    /**
      * @return Returns the Link.
      */
     Object getLink();

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2714215

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.