org.eclipse.uml2.uml.Message Maven / Gradle / Ivy
/*
* Copyright (c) 2005, 2007 IBM Corporation 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
*
* $Id: Message.java,v 1.18 2007/10/23 15:54:21 jbruck Exp $
*/
package org.eclipse.uml2.uml;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
/**
*
* A representation of the model object 'Message'.
*
*
*
* A message defines a particular communication between lifelines of an interaction.
*
*
*
* The following features are supported:
*
* - {@link org.eclipse.uml2.uml.Message#getMessageKind Message Kind}
* - {@link org.eclipse.uml2.uml.Message#getMessageSort Message Sort}
* - {@link org.eclipse.uml2.uml.Message#getReceiveEvent Receive Event}
* - {@link org.eclipse.uml2.uml.Message#getSendEvent Send Event}
* - {@link org.eclipse.uml2.uml.Message#getConnector Connector}
* - {@link org.eclipse.uml2.uml.Message#getInteraction Interaction}
* - {@link org.eclipse.uml2.uml.Message#getArguments Argument}
* - {@link org.eclipse.uml2.uml.Message#getSignature Signature}
*
*
*
* @see org.eclipse.uml2.uml.UMLPackage#getMessage()
* @model
* @generated
*/
public interface Message
extends NamedElement {
/**
* Returns the value of the 'Message Kind' attribute.
* The default value is "unknown"
.
* The literals are from the enumeration {@link org.eclipse.uml2.uml.MessageKind}.
*
*
*
* The derived kind of the Message (complete, lost, found or unknown)
*
* @return the value of the 'Message Kind' attribute.
* @see org.eclipse.uml2.uml.MessageKind
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_MessageKind()
* @model default="unknown" required="true" transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
MessageKind getMessageKind();
/**
* Returns the value of the 'Message Sort' attribute.
* The default value is "synchCall"
.
* The literals are from the enumeration {@link org.eclipse.uml2.uml.MessageSort}.
*
*
*
* The sort of communication reflected by the Message
*
* @return the value of the 'Message Sort' attribute.
* @see org.eclipse.uml2.uml.MessageSort
* @see #setMessageSort(MessageSort)
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_MessageSort()
* @model default="synchCall" required="true" ordered="false"
* @generated
*/
MessageSort getMessageSort();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Message#getMessageSort Message Sort}' attribute.
*
*
* @param value the new value of the 'Message Sort' attribute.
* @see org.eclipse.uml2.uml.MessageSort
* @see #getMessageSort()
* @generated
*/
void setMessageSort(MessageSort value);
/**
* Returns the value of the 'Receive Event' reference.
*
*
*
* References the Receiving of the Message
*
* @return the value of the 'Receive Event' reference.
* @see #setReceiveEvent(MessageEnd)
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_ReceiveEvent()
* @model ordered="false"
* @generated
*/
MessageEnd getReceiveEvent();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Message#getReceiveEvent Receive Event}' reference.
*
*
* @param value the new value of the 'Receive Event' reference.
* @see #getReceiveEvent()
* @generated
*/
void setReceiveEvent(MessageEnd value);
/**
* Returns the value of the 'Send Event' reference.
*
*
*
* References the Sending of the Message.
*
* @return the value of the 'Send Event' reference.
* @see #setSendEvent(MessageEnd)
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_SendEvent()
* @model ordered="false"
* @generated
*/
MessageEnd getSendEvent();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Message#getSendEvent Send Event}' reference.
*
*
* @param value the new value of the 'Send Event' reference.
* @see #getSendEvent()
* @generated
*/
void setSendEvent(MessageEnd value);
/**
* Returns the value of the 'Connector' reference.
*
*
*
* The Connector on which this Message is sent.
*
* @return the value of the 'Connector' reference.
* @see #setConnector(Connector)
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_Connector()
* @model ordered="false"
* @generated
*/
Connector getConnector();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Message#getConnector Connector}' reference.
*
*
* @param value the new value of the 'Connector' reference.
* @see #getConnector()
* @generated
*/
void setConnector(Connector value);
/**
* Returns the value of the 'Interaction' container reference.
* It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Interaction#getMessages Message}'.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.NamedElement#getNamespace() Namespace}'
*
*
*
*
*
* The enclosing Interaction owning the Message
*
* @return the value of the 'Interaction' container reference.
* @see #setInteraction(Interaction)
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_Interaction()
* @see org.eclipse.uml2.uml.Interaction#getMessages
* @model opposite="message" required="true" transient="false" ordered="false"
* @generated
*/
Interaction getInteraction();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.Message#getInteraction Interaction}' container reference.
*
*
* @param value the new value of the 'Interaction' container reference.
* @see #getInteraction()
* @generated
*/
void setInteraction(Interaction value);
/**
* Returns the value of the 'Argument' containment reference list.
* The list contents are of type {@link org.eclipse.uml2.uml.ValueSpecification}.
*
* This feature subsets the following features:
*
* - '{@link org.eclipse.uml2.uml.Element#getOwnedElements() Owned Element}'
*
*
*
*
*
* The arguments of the Message
*
* @return the value of the 'Argument' containment reference list.
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_Argument()
* @model containment="true" resolveProxies="true"
* @generated
*/
EList getArguments();
/**
* Creates a new {@link org.eclipse.uml2.uml.ValueSpecification}, with the specified 'Name', and 'Type', and appends it to the 'Argument' containment reference list.
*
*
* @param name The 'Name' for the new {@link org.eclipse.uml2.uml.ValueSpecification}, or null
.
* @param type The 'Type' for the new {@link org.eclipse.uml2.uml.ValueSpecification}, or null
.
* @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ValueSpecification} to create.
* @return The new {@link org.eclipse.uml2.uml.ValueSpecification}.
* @see #getArguments()
* @generated
*/
ValueSpecification createArgument(String name, Type type, EClass eClass);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type' from the 'Argument' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null
.
* @param type The 'Type' of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null
.
* @return The first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type', or null
.
* @see #getArguments()
* @generated
*/
ValueSpecification getArgument(String name, Type type);
/**
* Retrieves the first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type' from the 'Argument' containment reference list.
*
*
* @param name The 'Name' of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null
.
* @param type The 'Type' of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null
.
* @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
* @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ValueSpecification} to retrieve, or null
.
* @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.ValueSpecification} on demand if not found.
* @return The first {@link org.eclipse.uml2.uml.ValueSpecification} with the specified 'Name', and 'Type', or null
.
* @see #getArguments()
* @generated
*/
ValueSpecification getArgument(String name, Type type, boolean ignoreCase,
EClass eClass, boolean createOnDemand);
/**
* Returns the value of the 'Signature' reference.
*
*
*
* The definition of the type or signature of the Message (depending on its kind). The associated named element is derived from the message end that constitutes the sending or receiving message event. If both a sending event and a receiving message event are present, the signature is obtained from the sending event.
*
* @return the value of the 'Signature' reference.
* @see org.eclipse.uml2.uml.UMLPackage#getMessage_Signature()
* @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
* @generated
*/
NamedElement getSignature();
/**
*
*
*
* If the sending MessageEvent and the receiving MessageEvent of the same Message are on the same Lifeline, the sending MessageEvent must be ordered before the receiving MessageEvent.
* true
* @param diagnostics The chain of diagnostics to which problems are to be appended.
* @param context The cache of context-specific information.
*
* @model
* @generated
*/
boolean validateSendingReceivingMessageEvent(DiagnosticChain diagnostics,
Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy