Package com.sodius.mdw.metamodel.uml21
Interface Message
-
- All Superinterfaces:
Comparable<Object>
,Element
,org.eclipse.emf.ecore.EModelElement
,org.eclipse.emf.ecore.EObject
,MDWEObject
,MDWObject
,NamedElement
,org.eclipse.emf.common.notify.Notifier
public interface Message extends NamedElement
A representation of the model object 'Message'. A message defines a particular communication between lifelines of an interaction.The following features are supported:
- See Also:
UMLPackage.getMessage()
-
-
Field Summary
-
Fields inherited from interface com.sodius.mdw.metamodel.uml21.NamedElement
SEPARATOR
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ValueSpecification
createArgument(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newValueSpecification
, with the specified 'Name', and 'Type', and appends it to the 'Argument' containment reference list.ValueSpecification
getArgument(String name, Type type)
Retrieves the firstValueSpecification
with the specified 'Name', and ' Type' from the 'Argument' containment reference list.ValueSpecification
getArgument(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstValueSpecification
with the specified 'Name', and ' Type' from the 'Argument' containment reference list.MDWEList<ValueSpecification>
getArguments()
Returns the value of the 'Argument' containment reference list.Connector
getConnector()
Returns the value of the 'Connector' reference.Interaction
getInteraction()
Returns the value of the 'Interaction' container reference.MessageKind
getMessageKind()
Returns the value of the 'Message Kind' attribute.MessageSort
getMessageSort()
Returns the value of the 'Message Sort' attribute.MessageEnd
getReceiveEvent()
Returns the value of the 'Receive Event' reference.MessageEnd
getSendEvent()
Returns the value of the 'Send Event' reference.NamedElement
getSignature()
Returns the value of the 'Signature' reference.void
setConnector(Connector value)
Sets the value of the 'Connector
' reference.void
setInteraction(Interaction value)
Sets the value of the 'Interaction
' container reference.void
setMessageSort(MessageSort value)
Sets the value of the 'Message Sort
' attribute.void
setReceiveEvent(MessageEnd value)
Sets the value of the 'Receive Event
' reference.void
setSendEvent(MessageEnd value)
Sets the value of the 'Send Event
' reference.boolean
validateArguments(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Arguments of a Message must only be: i) attributes of the sending lifeline ii) constants iii) symbolic values (which are wildcard values representing any legal value) iv) explicit parameters of the enclosing Interaction v) attributes of the class owning the Interaction trueboolean
validateCannotCrossBoundaries(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Messages cannot cross bounderies of CombinedFragments or their operands.boolean
validateOccurrenceSpecifications(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
If the MessageEnds are both OccurrenceSpecifications then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.boolean
validateSendingReceivingMessageEvent(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
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.boolean
validateSignatureIsOperation(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In the case when the Message signature is an Operation, the arguments of the Message must correspond to the parameters of the Operation.boolean
validateSignatureIsSignal(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal.boolean
validateSignatureReferTo(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall) or a Signal (in which case messageSort is asynchSignal).-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
-
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
-
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
-
Methods inherited from interface com.sodius.mdw.core.model.MDWObject
compareTo, eExtendedClass, eIsInstanceOf, eIsInstanceOf, eIsProfiled, eIsRemoved, eMetamodel, eMetaTypeName, eModel, eRemove, eSetUniqueID, eUniqueID, superScript, superScript, toBoolean, toBoolean, toByte, toByte, toChar, toChar, toDouble, toDouble, toFloat, toFloat, toInt, toInt, toList, toList, toList, toList, toList, toLong, toLong, toObject, toObject, toSet, toSet, toShort, toShort, toString, toString
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
-
-
-
-
Method Detail
-
getMessageKind
MessageKind getMessageKind()
Returns the value of the 'Message Kind' attribute. The default value is"unknown"
. The literals are from the enumerationMessageKind
. The derived kind of the Message (complete, lost, found or unknown)- Returns:
- the value of the 'Message Kind' attribute.
- See Also:
MessageKind
,UMLPackage.getMessage_MessageKind()
-
getMessageSort
MessageSort getMessageSort()
Returns the value of the 'Message Sort' attribute. The default value is"synchCall"
. The literals are from the enumerationMessageSort
. The sort of communication reflected by the Message- Returns:
- the value of the 'Message Sort' attribute.
- See Also:
MessageSort
,setMessageSort(MessageSort)
,UMLPackage.getMessage_MessageSort()
-
setMessageSort
void setMessageSort(MessageSort value)
Sets the value of the 'Message Sort
' attribute.- Parameters:
value
- the new value of the 'Message Sort' attribute.- See Also:
MessageSort
,getMessageSort()
-
getReceiveEvent
MessageEnd getReceiveEvent()
Returns the value of the 'Receive Event' reference. References the Receiving of the Message- Returns:
- the value of the 'Receive Event' reference.
- See Also:
setReceiveEvent(MessageEnd)
,UMLPackage.getMessage_ReceiveEvent()
-
setReceiveEvent
void setReceiveEvent(MessageEnd value)
Sets the value of the 'Receive Event
' reference.- Parameters:
value
- the new value of the 'Receive Event' reference.- See Also:
getReceiveEvent()
-
getSendEvent
MessageEnd getSendEvent()
Returns the value of the 'Send Event' reference. References the Sending of the Message.- Returns:
- the value of the 'Send Event' reference.
- See Also:
setSendEvent(MessageEnd)
,UMLPackage.getMessage_SendEvent()
-
setSendEvent
void setSendEvent(MessageEnd value)
Sets the value of the 'Send Event
' reference.- Parameters:
value
- the new value of the 'Send Event' reference.- See Also:
getSendEvent()
-
getConnector
Connector getConnector()
Returns the value of the 'Connector' reference. The Connector on which this Message is sent.- Returns:
- the value of the 'Connector' reference.
- See Also:
setConnector(Connector)
,UMLPackage.getMessage_Connector()
-
setConnector
void setConnector(Connector value)
Sets the value of the 'Connector
' reference.- Parameters:
value
- the new value of the 'Connector' reference.- See Also:
getConnector()
-
getInteraction
Interaction getInteraction()
Returns the value of the 'Interaction' container reference. It is bidirectional and its opposite is 'Message
'. The enclosing Interaction owning the Message- Returns:
- the value of the 'Interaction' container reference.
- See Also:
setInteraction(Interaction)
,UMLPackage.getMessage_Interaction()
,Interaction.getMessages()
-
setInteraction
void setInteraction(Interaction value)
Sets the value of the 'Interaction
' container reference.- Parameters:
value
- the new value of the 'Interaction' container reference.- See Also:
getInteraction()
-
getArguments
MDWEList<ValueSpecification> getArguments()
Returns the value of the 'Argument' containment reference list. The list contents are of typeValueSpecification
. The arguments of the Message- Returns:
- the value of the 'Argument' containment reference list.
- See Also:
UMLPackage.getMessage_Argument()
-
createArgument
ValueSpecification createArgument(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newValueSpecification
, with the specified 'Name', and 'Type', and appends it to the 'Argument' containment reference list.- Parameters:
name
- The 'Name' for the newValueSpecification
, ornull
.type
- The 'Type' for the newValueSpecification
, ornull
.eClass
- The Ecore class of theValueSpecification
to create.- Returns:
- The new
ValueSpecification
. - See Also:
getArguments()
-
getArgument
ValueSpecification getArgument(String name, Type type)
Retrieves the firstValueSpecification
with the specified 'Name', and ' Type' from the 'Argument' containment reference list.- Parameters:
name
- The 'Name' of theValueSpecification
to retrieve, ornull
.type
- The 'Type' of theValueSpecification
to retrieve, ornull
.- Returns:
- The first
ValueSpecification
with the specified 'Name', and ' Type', ornull
. - See Also:
getArguments()
-
getArgument
ValueSpecification getArgument(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstValueSpecification
with the specified 'Name', and ' Type' from the 'Argument' containment reference list.- Parameters:
name
- The 'Name' of theValueSpecification
to retrieve, ornull
.type
- The 'Type' of theValueSpecification
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theValueSpecification
to retrieve, ornull
.createOnDemand
- Whether to create aValueSpecification
on demand if not found.- Returns:
- The first
ValueSpecification
with the specified 'Name', and ' Type', ornull
. - See Also:
getArguments()
-
getSignature
NamedElement getSignature()
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.- Returns:
- the value of the 'Signature' reference.
- See Also:
UMLPackage.getMessage_Signature()
-
validateSendingReceivingMessageEvent
boolean validateSendingReceivingMessageEvent(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
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
-
validateSignatureReferTo
boolean validateSignatureReferTo(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message. true
-
validateSignatureIsOperation
boolean validateSignatureIsOperation(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In the case when the Message signature is an Operation, the arguments of the Message must correspond to the parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter. true
-
validateSignatureIsSignal
boolean validateSignatureIsSignal(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Arguement is of the same Class or a specialization of that of the Attribute. true
-
validateArguments
boolean validateArguments(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Arguments of a Message must only be: i) attributes of the sending lifeline ii) constants iii) symbolic values (which are wildcard values representing any legal value) iv) explicit parameters of the enclosing Interaction v) attributes of the class owning the Interaction true
-
validateCannotCrossBoundaries
boolean validateCannotCrossBoundaries(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Messages cannot cross bounderies of CombinedFragments or their operands. true
-
validateOccurrenceSpecifications
boolean validateOccurrenceSpecifications(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
If the MessageEnds are both OccurrenceSpecifications then the connector must go between the Parts represented by the Lifelines of the two MessageEnds. true
-
-