Package com.sodius.mdw.metamodel.uml21
Interface StructuredActivityNode
-
- All Superinterfaces:
Action
,ActivityGroup
,ActivityNode
,Comparable<Object>
,Element
,org.eclipse.emf.ecore.EModelElement
,org.eclipse.emf.ecore.EObject
,ExecutableNode
,MDWEObject
,MDWObject
,NamedElement
,Namespace
,org.eclipse.emf.common.notify.Notifier
,RedefinableElement
- All Known Subinterfaces:
ConditionalNode
,ExpansionRegion
,LoopNode
,SequenceNode
public interface StructuredActivityNode extends Action, Namespace, ActivityGroup
A representation of the model object 'Structured Activity Node'. A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an activity group. The subordinate nodes must belong to only one structured activity node, although they may be nested. Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is "isolated," then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node.The following features are supported:
- See Also:
UMLPackage.getStructuredActivityNode()
-
-
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 ActivityEdge
createEdge(String name, org.eclipse.emf.ecore.EClass eClass)
Creates a newActivityEdge
, with the specified 'Name', and appends it to the ' Edge' containment reference list.ActivityNode
createNode(String name, org.eclipse.emf.ecore.EClass eClass)
Creates a newActivityNode
, with the specified 'Name', and appends it to the ' Node' containment reference list.InputPin
createStructuredNodeInput(String name, Type type)
InputPin
createStructuredNodeInput(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
OutputPin
createStructuredNodeOutput(String name, Type type)
Variable
createVariable(String name, Type type)
Creates a newVariable
, with the specified 'Name', and 'Type', and appends it to the 'Variable' containment reference list.ActivityEdge
getEdge(String name)
Retrieves the firstActivityEdge
with the specified 'Name' from the ' Edge' containment reference list.ActivityEdge
getEdge(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstActivityEdge
with the specified 'Name' from the ' Edge' containment reference list.MDWEList<ActivityEdge>
getEdges()
Returns the value of the 'Edge' containment reference list.ActivityNode
getNode(String name)
Retrieves the firstActivityNode
with the specified 'Name' from the ' Node' containment reference list.ActivityNode
getNode(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstActivityNode
with the specified 'Name' from the ' Node' containment reference list.MDWEList<ActivityNode>
getNodes()
Returns the value of the 'Node' containment reference list.InputPin
getStructuredNodeInput(String name, Type type)
Returns theInput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'.InputPin
getStructuredNodeInput(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Returns theInput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'.MDWEList<InputPin>
getStructuredNodeInputs()
Returns the list ofInput Pins
linked to the currentStructured Activity Node
.
for UML 2.3 or higherOutputPin
getStructuredNodeOutput(String name, Type type)
Returns theOutput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'.OutputPin
getStructuredNodeOutput(String name, Type type, boolean ignoreCase, boolean createOnDemand)
Returns theOutput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'.MDWEList<OutputPin>
getStructuredNodeOutputs()
Returns the list ofOutput Pins
linked to the currentStructured Activity Node
.
for UML 2.3 or higherVariable
getVariable(String name, Type type)
Retrieves the firstVariable
with the specified 'Name', and 'Type' from the 'Variable' containment reference list.Variable
getVariable(String name, Type type, boolean ignoreCase, boolean createOnDemand)
Retrieves the firstVariable
with the specified 'Name', and 'Type' from the 'Variable' containment reference list.MDWEList<Variable>
getVariables()
Returns the value of the 'Variable' containment reference list.boolean
isMustIsolate()
Returns the value of the 'Must Isolate' attribute.void
setMustIsolate(boolean value)
Sets the value of the 'Must Isolate
' attribute.boolean
validateEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The edges owned by a structured node must have source and target nodes in the structured node, and vice versa.-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Action
createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.ActivityGroup
getContainedEdge, getContainedEdge, getContainedEdges, getContainedNode, getContainedNode, getContainedNodes, getInActivity, getSubgroups, getSuperGroup, setInActivity, validateGroupOwned, validateNodesAndEdges, validateNotContained
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.ActivityNode
getActivity, getIncoming, getIncoming, getIncomings, getInGroups, getInInterruptibleRegions, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoing, getOutgoings, getRedefinedNode, getRedefinedNode, getRedefinedNodes, setActivity, setInStructuredNode, validateOwned, validateOwnedStructuredNode
-
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.metamodel.uml21.ExecutableNode
createHandler, getHandlers
-
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
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.Namespace
createElementImport, createElementImport, createOwnedDiagram, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedDiagrams, getOwnedDiagrams, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateMembersDistinguishable
-
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
-
-
-
-
Method Detail
-
getVariables
MDWEList<Variable> getVariables()
Returns the value of the 'Variable' containment reference list. The list contents are of typeVariable
. It is bidirectional and its opposite is 'Scope
'. A variable defined in the scope of the structured activity node. It has no value and may not be accessed- Returns:
- the value of the 'Variable' containment reference list.
- See Also:
UMLPackage.getStructuredActivityNode_Variable()
,Variable.getScope()
-
createVariable
Variable createVariable(String name, Type type)
Creates a newVariable
, with the specified 'Name', and 'Type', and appends it to the 'Variable' containment reference list.- Parameters:
name
- The 'Name' for the newVariable
, ornull
.type
- The 'Type' for the newVariable
, ornull
.- Returns:
- The new
Variable
. - See Also:
getVariables()
-
getVariable
Variable getVariable(String name, Type type)
Retrieves the firstVariable
with the specified 'Name', and 'Type' from the 'Variable' containment reference list.- Parameters:
name
- The 'Name' of theVariable
to retrieve, ornull
.type
- The 'Type' of theVariable
to retrieve, ornull
.- Returns:
- The first
Variable
with the specified 'Name', and 'Type', ornull
. - See Also:
getVariables()
-
getVariable
Variable getVariable(String name, Type type, boolean ignoreCase, boolean createOnDemand)
Retrieves the firstVariable
with the specified 'Name', and 'Type' from the 'Variable' containment reference list.- Parameters:
name
- The 'Name' of theVariable
to retrieve, ornull
.type
- The 'Type' of theVariable
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.createOnDemand
- Whether to create aVariable
on demand if not found.- Returns:
- The first
Variable
with the specified 'Name', and 'Type', ornull
. - See Also:
getVariables()
-
getNodes
MDWEList<ActivityNode> getNodes()
Returns the value of the 'Node' containment reference list. The list contents are of typeActivityNode
. It is bidirectional and its opposite is 'In Structured Node
'. Nodes immediately contained in the group.- Returns:
- the value of the 'Node' containment reference list.
- See Also:
UMLPackage.getStructuredActivityNode_Node()
,ActivityNode.getInStructuredNode()
-
createNode
ActivityNode createNode(String name, org.eclipse.emf.ecore.EClass eClass)
Creates a newActivityNode
, with the specified 'Name', and appends it to the ' Node' containment reference list.- Parameters:
name
- The 'Name' for the newActivityNode
, ornull
.eClass
- The Ecore class of theActivityNode
to create.- Returns:
- The new
ActivityNode
. - See Also:
getNodes()
-
getNode
ActivityNode getNode(String name)
Retrieves the firstActivityNode
with the specified 'Name' from the ' Node' containment reference list.- Parameters:
name
- The 'Name' of theActivityNode
to retrieve, ornull
.- Returns:
- The first
ActivityNode
with the specified 'Name', ornull
. - See Also:
getNodes()
-
getNode
ActivityNode getNode(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstActivityNode
with the specified 'Name' from the ' Node' containment reference list.- Parameters:
name
- The 'Name' of theActivityNode
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theActivityNode
to retrieve, ornull
.createOnDemand
- Whether to create aActivityNode
on demand if not found.- Returns:
- The first
ActivityNode
with the specified 'Name', ornull
. - See Also:
getNodes()
-
isMustIsolate
boolean isMustIsolate()
Returns the value of the 'Must Isolate' attribute. The default value is"false"
. If true, then the actions in the node execute in isolation from actions outside the node.- Returns:
- the value of the 'Must Isolate' attribute.
- See Also:
setMustIsolate(boolean)
,UMLPackage.getStructuredActivityNode_MustIsolate()
-
setMustIsolate
void setMustIsolate(boolean value)
Sets the value of the 'Must Isolate
' attribute.- Parameters:
value
- the new value of the 'Must Isolate' attribute.- See Also:
isMustIsolate()
-
getEdges
MDWEList<ActivityEdge> getEdges()
Returns the value of the 'Edge' containment reference list. The list contents are of typeActivityEdge
. It is bidirectional and its opposite is 'In Structured Node
'. Edges immediately contained in the structured node.- Returns:
- the value of the 'Edge' containment reference list.
- See Also:
UMLPackage.getStructuredActivityNode_Edge()
,ActivityEdge.getInStructuredNode()
-
createEdge
ActivityEdge createEdge(String name, org.eclipse.emf.ecore.EClass eClass)
Creates a newActivityEdge
, with the specified 'Name', and appends it to the ' Edge' containment reference list.- Parameters:
name
- The 'Name' for the newActivityEdge
, ornull
.eClass
- The Ecore class of theActivityEdge
to create.- Returns:
- The new
ActivityEdge
. - See Also:
getEdges()
-
getEdge
ActivityEdge getEdge(String name)
Retrieves the firstActivityEdge
with the specified 'Name' from the ' Edge' containment reference list.- Parameters:
name
- The 'Name' of theActivityEdge
to retrieve, ornull
.- Returns:
- The first
ActivityEdge
with the specified 'Name', ornull
. - See Also:
getEdges()
-
getEdge
ActivityEdge getEdge(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstActivityEdge
with the specified 'Name' from the ' Edge' containment reference list.- Parameters:
name
- The 'Name' of theActivityEdge
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theActivityEdge
to retrieve, ornull
.createOnDemand
- Whether to create aActivityEdge
on demand if not found.- Returns:
- The first
ActivityEdge
with the specified 'Name', ornull
. - See Also:
getEdges()
-
validateEdges
boolean validateEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The edges owned by a structured node must have source and target nodes in the structured node, and vice versa. true
-
getStructuredNodeInputs
MDWEList<InputPin> getStructuredNodeInputs()
Returns the list ofInput Pins
linked to the currentStructured Activity Node
.
for UML 2.3 or higher- Returns:
- list of InputPins
- Since:
- 3.5.0
-
getStructuredNodeOutputs
MDWEList<OutputPin> getStructuredNodeOutputs()
Returns the list ofOutput Pins
linked to the currentStructured Activity Node
.
for UML 2.3 or higher- Returns:
- list of OutputPins
- Since:
- 3.4.0
-
createStructuredNodeInput
InputPin createStructuredNodeInput(String name, Type type)
- Parameters:
name
- the name of the InputPin createdtype
- the type of the InputPin created- Returns:
- a new InputPin
- Since:
- 3.5.0
- See Also:
TypedElement.getType()
-
createStructuredNodeInput
InputPin createStructuredNodeInput(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
- Parameters:
name
- the name of the InputPin createdtype
- the type of the InputPin createdeClass
- the kind of InputPin created : InputPin, ActionInputPin or ValuePin- Returns:
- a new InputPin
- Since:
- 3.5.0
- See Also:
TypedElement.getType()
-
createStructuredNodeOutput
OutputPin createStructuredNodeOutput(String name, Type type)
- Parameters:
name
- the name of the OutputPin createdtype
- the type of the OutputPin created- Returns:
- list of OutputPins
- Since:
- 3.5.0
- See Also:
TypedElement.getType()
-
getStructuredNodeInput
InputPin getStructuredNodeInput(String name, Type type)
Returns theInput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'. Returns null if no corresponding InputPin found.
for UML 2.3 or higher- Parameters:
name
- the name of the InputPintype
- the type of the InputPin- Returns:
- InputPin
- Since:
- 3.5.0
- See Also:
TypedElement.getType()
-
getStructuredNodeInput
InputPin getStructuredNodeInput(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Returns theInput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'.
If the attribute 'ignoreCase' is set to true, the case of the InputPin name is ignored.
If no corresponding InputPin is found, a new InputPin is created if the attribute'createOnDemand' is set to true. Returns null otherwise.
for UML 2.3 or higher- Parameters:
name
- the name of the InputPintype
- the type of the InputPinignoreCase
- boolean to determine if the case is ignored or notcreateOnDemand
- boolean to determine if a new InputPin is created- Returns:
- InputPin
- Since:
- 3.5.0
- See Also:
TypedElement.getType()
-
getStructuredNodeOutput
OutputPin getStructuredNodeOutput(String name, Type type)
Returns theOutput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'. Returns null if no corresponding OutputPin found.
for UML 2.3 or higher- Parameters:
name
- the name of the OutputPintype
- the type of the OutputPin- Returns:
- OutputPin
- Since:
- 3.5.0
- See Also:
TypedElement.getType()
-
getStructuredNodeOutput
OutputPin getStructuredNodeOutput(String name, Type type, boolean ignoreCase, boolean createOnDemand)
Returns theOutput Pin
linked to the currentStructured Activity Node
called 'name' andtyped
'type'.
If the attribute 'ignoreCase' is set to true, the case of the OutputPin name is ignored.
If no corresponding OutputPin is found, a new OuputPin is created if the attribute'createOnDemand' is set to true. Returns null otherwise.
for UML 2.3 or higher- Parameters:
name
- the name of the OutputPintype
- the type of the OutputPinignoreCase
- boolean to determine if the case is ignored or notcreateOnDemand
- boolean to determine if a new OutputPin is created- Returns:
- OutputPin
- Since:
- 3.5.0
- See Also:
TypedElement.getType()
-
-