org.eclipse.uml2.uml
Interface Continuation

All Superinterfaces:
Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, InteractionFragment, NamedElement, org.eclipse.emf.common.notify.Notifier

public interface Continuation
extends InteractionFragment

A representation of the model object 'Continuation'. A Continuation is a syntactic way to define continuations of different branches of an alternative CombinedFragment. Continuations are intuitively similar to labels representing intermediate points in a flow of control.

From package UML::Interactions.

The following features are supported:

See Also:
UMLPackage.getContinuation()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 boolean isSetting()
          Returns the value of the 'Setting' attribute.
 void setSetting(boolean value)
          Sets the value of the 'Setting' attribute
 boolean validateFirstOrLastInteractionFragment(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionOperand.
 boolean validateGlobal(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Continuations are always global in the enclosing InteractionFragment e.g., it always covers all Lifelines covered by the enclosing InteractionOperator.
 boolean validateSameName(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Across all Interaction instances having the same context value, every Lifeline instance covered by a Continuation (self) must be common with one covered Lifeline instance of all other Continuation instances with the same name as self, and every Lifeline instance covered by a Continuation instance with the same name as self must be common with one covered Lifeline instance of self.
 
Methods inherited from interface org.eclipse.uml2.uml.InteractionFragment
createGeneralOrdering, getCovered, getCovered, getCovereds, getEnclosingInteraction, getEnclosingOperand, getGeneralOrdering, getGeneralOrdering, getGeneralOrderings, setEnclosingInteraction, setEnclosingOperand
 
Methods inherited from interface org.eclipse.uml2.uml.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
 
Methods inherited from interface org.eclipse.uml2.uml.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 org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Method Detail

isSetting

boolean isSetting()
Returns the value of the 'Setting' attribute. The default value is "true". True: when the Continuation is at the end of the enclosing InteractionFragment and False when it is in the beginning.

From package UML::Interactions.

Returns:
the value of the 'Setting' attribute.
See Also:
setSetting(boolean), UMLPackage.getContinuation_Setting()

setSetting

void setSetting(boolean value)
Sets the value of the 'Setting' attribute.

Parameters:
value - the new value of the 'Setting' attribute.
See Also:
isSetting()

validateSameName

boolean validateSameName(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                         java.util.Map<java.lang.Object,java.lang.Object> context)
Across all Interaction instances having the same context value, every Lifeline instance covered by a Continuation (self) must be common with one covered Lifeline instance of all other Continuation instances with the same name as self, and every Lifeline instance covered by a Continuation instance with the same name as self must be common with one covered Lifeline instance of self. Lifeline instances are common if they have the same selector and represents associationEnd values. enclosingOperand.combinedFragment->notEmpty() and let parentInteraction : Set(Interaction) = enclosingOperand.combinedFragment->closure(enclosingOperand.combinedFragment)-> collect(enclosingInteraction).oclAsType(Interaction)->asSet() in (parentInteraction->size() = 1) and let peerInteractions : Set(Interaction) = (parentInteraction->union(parentInteraction->collect(_'context')->collect(behavior)-> select(oclIsKindOf(Interaction)).oclAsType(Interaction)->asSet())->asSet()) in (peerInteractions->notEmpty()) and let combinedFragments1 : Set(CombinedFragment) = peerInteractions.fragment-> select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment)->asSet() in combinedFragments1->notEmpty() and combinedFragments1->closure(operand.fragment-> select(oclIsKindOf(CombinedFragment)).oclAsType(CombinedFragment))->asSet().operand.fragment-> select(oclIsKindOf(Continuation)).oclAsType(Continuation)->asSet()-> forAll(c : Continuation | (c.name = self.name) implies (c.covered->asSet()->forAll(cl : Lifeline | -- cl must be common to one lifeline covered by self self.covered->asSet()-> select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1)) and (self.covered->asSet()->forAll(cl : Lifeline | -- cl must be common to one lifeline covered by c c.covered->asSet()-> select(represents = cl.represents and selector = cl.selector)->asSet()->size()=1)) )

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateGlobal

boolean validateGlobal(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                       java.util.Map<java.lang.Object,java.lang.Object> context)
Continuations are always global in the enclosing InteractionFragment e.g., it always covers all Lifelines covered by the enclosing InteractionOperator. enclosingOperand->notEmpty() and let operandLifelines : Set(Lifeline) = enclosingOperand.covered in (operandLifelines->notEmpty() and operandLifelines->forAll(ol :Lifeline |self.covered->includes(ol)))

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateFirstOrLastInteractionFragment

boolean validateFirstOrLastInteractionFragment(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                               java.util.Map<java.lang.Object,java.lang.Object> context)
Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionOperand. enclosingOperand->notEmpty() and let peerFragments : OrderedSet(InteractionFragment) = enclosingOperand.fragment in ( peerFragments->notEmpty() and ((peerFragments->first() = self) or (peerFragments->last() = self)))

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

Copyright 2003, 2014 IBM Corporation, CEA, and others.
All Rights Reserved.