All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.uml2.uml.MessageEnd Maven / Gradle / Ivy

/*
 * Copyright (c) 2005, 2014 IBM Corporation, CEA, and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   IBM - initial API and implementation
 *   Christian W. Damus (CEA) - 251963
 *   Kenn Hussey (CEA) - 418466
 *
 */
package org.eclipse.uml2.uml;

import org.eclipse.emf.common.util.EList;

/**
 * 
 * A representation of the model object 'Message End'.
 * 
 *
 * 
 * MessageEnd is an abstract specialization of NamedElement that represents what can occur at the end of a Message.
 * 

From package UML::Interactions.

* * *

* The following features are supported: *

    *
  • {@link org.eclipse.uml2.uml.MessageEnd#getMessage Message}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getMessageEnd() * @model abstract="true" * @generated */ public interface MessageEnd extends NamedElement { /** * Returns the value of the 'Message' reference. * * * * References a Message. *

From package UML::Interactions.

* * @return the value of the 'Message' reference. * @see #setMessage(Message) * @see org.eclipse.uml2.uml.UMLPackage#getMessageEnd_Message() * @model ordered="false" * @generated */ Message getMessage(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.MessageEnd#getMessage Message}' reference. * * * @param value the new value of the 'Message' reference. * @see #getMessage() * @generated */ void setMessage(Message value); /** * * * * This query returns a set including the MessageEnd (if exists) at the opposite end of the Message for this MessageEnd. * result = (message->asSet().messageEnd->asSet()->excluding(self)) * message->notEmpty() *

From package UML::Interactions.

* * @model ordered="false" * @generated */ EList oppositeEnd(); /** * * * * This query returns value true if this MessageEnd is a sendEvent. * message->notEmpty() * result = (message.sendEvent->asSet()->includes(self)) *

From package UML::Interactions.

* * @model kind="operation" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" * @generated */ boolean isSend(); /** * * * * This query returns value true if this MessageEnd is a receiveEvent. * message->notEmpty() * result = (message.receiveEvent->asSet()->includes(self)) *

From package UML::Interactions.

* * @model kind="operation" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" * @generated */ boolean isReceive(); /** * * * * This query returns a set including the enclosing InteractionFragment this MessageEnd is enclosed within. * result = (if self->select(oclIsKindOf(Gate))->notEmpty() * then -- it is a Gate * let endGate : Gate = * self->select(oclIsKindOf(Gate)).oclAsType(Gate)->asOrderedSet()->first() * in * if endGate.isOutsideCF() * then endGate.combinedFragment.enclosingInteraction.oclAsType(InteractionFragment)->asSet()-> * union(endGate.combinedFragment.enclosingOperand.oclAsType(InteractionFragment)->asSet()) * else if endGate.isInsideCF() * then endGate.combinedFragment.oclAsType(InteractionFragment)->asSet() * else if endGate.isFormal() * then endGate.interaction.oclAsType(InteractionFragment)->asSet() * else if endGate.isActual() * then endGate.interactionUse.enclosingInteraction.oclAsType(InteractionFragment)->asSet()-> * union(endGate.interactionUse.enclosingOperand.oclAsType(InteractionFragment)->asSet()) * else null * endif * endif * endif * endif * else -- it is a MessageOccurrenceSpecification * let endMOS : MessageOccurrenceSpecification = * self->select(oclIsKindOf(MessageOccurrenceSpecification)).oclAsType(MessageOccurrenceSpecification)->asOrderedSet()->first() * in * if endMOS.enclosingInteraction->notEmpty() * then endMOS.enclosingInteraction.oclAsType(InteractionFragment)->asSet() * else endMOS.enclosingOperand.oclAsType(InteractionFragment)->asSet() * endif * endif) *

From package UML::Interactions.

* * @model ordered="false" * @generated */ EList enclosingFragment(); } // MessageEnd




© 2015 - 2025 Weber Informatics LLC | Privacy Policy