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]].

Reply via email to