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 ActivityEdgecreateEdge(String name, org.eclipse.emf.ecore.EClass eClass)Creates a newActivityEdge, with the specified 'Name', and appends it to the ' Edge' containment reference list.ActivityNodecreateNode(String name, org.eclipse.emf.ecore.EClass eClass)Creates a newActivityNode, with the specified 'Name', and appends it to the ' Node' containment reference list.InputPincreateStructuredNodeInput(String name, Type type)InputPincreateStructuredNodeInput(String name, Type type, org.eclipse.emf.ecore.EClass eClass)OutputPincreateStructuredNodeOutput(String name, Type type)VariablecreateVariable(String name, Type type)Creates a newVariable, with the specified 'Name', and 'Type', and appends it to the 'Variable' containment reference list.ActivityEdgegetEdge(String name)Retrieves the firstActivityEdgewith the specified 'Name' from the ' Edge' containment reference list.ActivityEdgegetEdge(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)Retrieves the firstActivityEdgewith the specified 'Name' from the ' Edge' containment reference list.MDWEList<ActivityEdge>getEdges()Returns the value of the 'Edge' containment reference list.ActivityNodegetNode(String name)Retrieves the firstActivityNodewith the specified 'Name' from the ' Node' containment reference list.ActivityNodegetNode(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)Retrieves the firstActivityNodewith the specified 'Name' from the ' Node' containment reference list.MDWEList<ActivityNode>getNodes()Returns the value of the 'Node' containment reference list.InputPingetStructuredNodeInput(String name, Type type)Returns theInput Pinlinked to the currentStructured Activity Nodecalled 'name' andtyped'type'.InputPingetStructuredNodeInput(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)Returns theInput Pinlinked to the currentStructured Activity Nodecalled 'name' andtyped'type'.MDWEList<InputPin>getStructuredNodeInputs()Returns the list ofInput Pinslinked to the currentStructured Activity Node.
for UML 2.3 or higherOutputPingetStructuredNodeOutput(String name, Type type)Returns theOutput Pinlinked to the currentStructured Activity Nodecalled 'name' andtyped'type'.OutputPingetStructuredNodeOutput(String name, Type type, boolean ignoreCase, boolean createOnDemand)Returns theOutput Pinlinked to the currentStructured Activity Nodecalled 'name' andtyped'type'.MDWEList<OutputPin>getStructuredNodeOutputs()Returns the list ofOutput Pinslinked to the currentStructured Activity Node.
for UML 2.3 or higherVariablegetVariable(String name, Type type)Retrieves the firstVariablewith the specified 'Name', and 'Type' from the 'Variable' containment reference list.VariablegetVariable(String name, Type type, boolean ignoreCase, boolean createOnDemand)Retrieves the firstVariablewith the specified 'Name', and 'Type' from the 'Variable' containment reference list.MDWEList<Variable>getVariables()Returns the value of the 'Variable' containment reference list.booleanisMustIsolate()Returns the value of the 'Must Isolate' attribute.voidsetMustIsolate(boolean value)Sets the value of the 'Must Isolate' attribute.booleanvalidateEdges(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 firstVariablewith the specified 'Name', and 'Type' from the 'Variable' containment reference list.- Parameters:
name- The 'Name' of theVariableto retrieve, ornull.type- The 'Type' of theVariableto retrieve, ornull.- Returns:
- The first
Variablewith the specified 'Name', and 'Type', ornull. - See Also:
getVariables()
-
getVariable
Variable getVariable(String name, Type type, boolean ignoreCase, boolean createOnDemand)
Retrieves the firstVariablewith the specified 'Name', and 'Type' from the 'Variable' containment reference list.- Parameters:
name- The 'Name' of theVariableto retrieve, ornull.type- The 'Type' of theVariableto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.createOnDemand- Whether to create aVariableon demand if not found.- Returns:
- The first
Variablewith 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 theActivityNodeto create.- Returns:
- The new
ActivityNode. - See Also:
getNodes()
-
getNode
ActivityNode getNode(String name)
Retrieves the firstActivityNodewith the specified 'Name' from the ' Node' containment reference list.- Parameters:
name- The 'Name' of theActivityNodeto retrieve, ornull.- Returns:
- The first
ActivityNodewith the specified 'Name', ornull. - See Also:
getNodes()
-
getNode
ActivityNode getNode(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstActivityNodewith the specified 'Name' from the ' Node' containment reference list.- Parameters:
name- The 'Name' of theActivityNodeto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of theActivityNodeto retrieve, ornull.createOnDemand- Whether to create aActivityNodeon demand if not found.- Returns:
- The first
ActivityNodewith 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 theActivityEdgeto create.- Returns:
- The new
ActivityEdge. - See Also:
getEdges()
-
getEdge
ActivityEdge getEdge(String name)
Retrieves the firstActivityEdgewith the specified 'Name' from the ' Edge' containment reference list.- Parameters:
name- The 'Name' of theActivityEdgeto retrieve, ornull.- Returns:
- The first
ActivityEdgewith the specified 'Name', ornull. - See Also:
getEdges()
-
getEdge
ActivityEdge getEdge(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstActivityEdgewith the specified 'Name' from the ' Edge' containment reference list.- Parameters:
name- The 'Name' of theActivityEdgeto retrieve, ornull.ignoreCase- Whether to ignore case inStringcomparisons.eClass- The Ecore class of theActivityEdgeto retrieve, ornull.createOnDemand- Whether to create aActivityEdgeon demand if not found.- Returns:
- The first
ActivityEdgewith 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 Pinslinked 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 Pinslinked 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 Pinlinked to the currentStructured Activity Nodecalled '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 Pinlinked to the currentStructured Activity Nodecalled '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 Pinlinked to the currentStructured Activity Nodecalled '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 Pinlinked to the currentStructured Activity Nodecalled '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()
-
-