Package com.sodius.mdw.metamodel.uml21
Interface LoopNode
-
- 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
,StructuredActivityNode
public interface LoopNode extends StructuredActivityNode
A representation of the model object 'Loop Node'. A loop node is a structured activity node that represents a loop with setup, test, and body sections.The following features are supported:
- See Also:
UMLPackage.getLoopNode()
-
-
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 InputPin
createLoopVariableInput(String name, Type type)
Creates a newInputPin
, with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list.InputPin
createLoopVariableInput(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newInputPin
, with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list.OutputPin
createResult(String name, Type type)
Creates a newOutputPin
, with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list.OutputPin
getBodyOutput(String name, Type type)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Body Output' reference list.OutputPin
getBodyOutput(String name, Type type, boolean ignoreCase)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Body Output' reference list.MDWEList<OutputPin>
getBodyOutputs()
Returns the value of the 'Body Output' reference list.ExecutableNode
getBodyPart(String name)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Body Part' reference list.ExecutableNode
getBodyPart(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Body Part' reference list.MDWEList<ExecutableNode>
getBodyParts()
Returns the value of the 'Body Part' reference list.OutputPin
getDecider()
Returns the value of the 'Decider' reference.OutputPin
getLoopVariable(String name, Type type)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Loop Variable' reference list.OutputPin
getLoopVariable(String name, Type type, boolean ignoreCase)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Loop Variable' reference list.InputPin
getLoopVariableInput(String name, Type type)
Retrieves the firstInputPin
with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list.InputPin
getLoopVariableInput(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstInputPin
with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list.MDWEList<InputPin>
getLoopVariableInputs()
Returns the value of the 'Loop Variable Input' containment reference list.MDWEList<OutputPin>
getLoopVariables()
Returns the value of the 'Loop Variable' reference list.OutputPin
getResult(String name, Type type)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Result' containment reference list.OutputPin
getResult(String name, Type type, boolean ignoreCase, boolean createOnDemand)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Result' containment reference list.MDWEList<OutputPin>
getResults()
Returns the value of the 'Result' containment reference list.ExecutableNode
getSetupPart(String name)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Setup Part' reference list.ExecutableNode
getSetupPart(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Setup Part' reference list.MDWEList<ExecutableNode>
getSetupParts()
Returns the value of the 'Setup Part' reference list.ExecutableNode
getTest(String name)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Test' reference list.ExecutableNode
getTest(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Test' reference list.MDWEList<ExecutableNode>
getTests()
Returns the value of the 'Test' reference list.boolean
isTestedFirst()
Returns the value of the 'Is Tested First' attribute.void
setDecider(OutputPin value)
Sets the value of the 'Decider
' reference.void
setIsTestedFirst(boolean value)
Sets the value of the 'Is Tested First
' attribute.boolean
validateBodyOutputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The bodyOutput pins are output pins on actions in the body of the loop node.boolean
validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Loop variable inputs must not have outgoing edges.boolean
validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The result output pins have no incoming edges.-
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
-
Methods inherited from interface com.sodius.mdw.metamodel.uml21.StructuredActivityNode
createEdge, createNode, createStructuredNodeInput, createStructuredNodeInput, createStructuredNodeOutput, createVariable, getEdge, getEdge, getEdges, getNode, getNode, getNodes, getStructuredNodeInput, getStructuredNodeInput, getStructuredNodeInputs, getStructuredNodeOutput, getStructuredNodeOutput, getStructuredNodeOutputs, getVariable, getVariable, getVariables, isMustIsolate, setMustIsolate, validateEdges
-
-
-
-
Method Detail
-
isTestedFirst
boolean isTestedFirst()
Returns the value of the 'Is Tested First' attribute. The default value is"false"
. If true, the test is performed before the first execution of the body. If false, the body is executed once before the test is performed.- Returns:
- the value of the 'Is Tested First' attribute.
- See Also:
setIsTestedFirst(boolean)
,UMLPackage.getLoopNode_IsTestedFirst()
-
setIsTestedFirst
void setIsTestedFirst(boolean value)
Sets the value of the 'Is Tested First
' attribute.- Parameters:
value
- the new value of the 'Is Tested First' attribute.- See Also:
isTestedFirst()
-
getBodyParts
MDWEList<ExecutableNode> getBodyParts()
Returns the value of the 'Body Part' reference list. The list contents are of typeExecutableNode
. The set of nodes and edges that perform the repetitive computations of the loop. The body section is executed as long as the test section produces a true value.- Returns:
- the value of the 'Body Part' reference list.
- See Also:
UMLPackage.getLoopNode_BodyPart()
-
getBodyPart
ExecutableNode getBodyPart(String name)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Body Part' reference list.- Parameters:
name
- The 'Name' of theExecutableNode
to retrieve, ornull
.- Returns:
- The first
ExecutableNode
with the specified 'Name', ornull
. - See Also:
getBodyParts()
-
getBodyPart
ExecutableNode getBodyPart(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Body Part' reference list.- Parameters:
name
- The 'Name' of theExecutableNode
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theExecutableNode
to retrieve, ornull
.- Returns:
- The first
ExecutableNode
with the specified 'Name', ornull
. - See Also:
getBodyParts()
-
getSetupParts
MDWEList<ExecutableNode> getSetupParts()
Returns the value of the 'Setup Part' reference list. The list contents are of typeExecutableNode
. The set of nodes and edges that initialize values or perform other setup computations for the loop.- Returns:
- the value of the 'Setup Part' reference list.
- See Also:
UMLPackage.getLoopNode_SetupPart()
-
getSetupPart
ExecutableNode getSetupPart(String name)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Setup Part' reference list.- Parameters:
name
- The 'Name' of theExecutableNode
to retrieve, ornull
.- Returns:
- The first
ExecutableNode
with the specified 'Name', ornull
. - See Also:
getSetupParts()
-
getSetupPart
ExecutableNode getSetupPart(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Setup Part' reference list.- Parameters:
name
- The 'Name' of theExecutableNode
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theExecutableNode
to retrieve, ornull
.- Returns:
- The first
ExecutableNode
with the specified 'Name', ornull
. - See Also:
getSetupParts()
-
getDecider
OutputPin getDecider()
Returns the value of the 'Decider' reference. An output pin within the test fragment the value of which is examined after execution of the test to determine whether to execute the loop body.- Returns:
- the value of the 'Decider' reference.
- See Also:
setDecider(OutputPin)
,UMLPackage.getLoopNode_Decider()
-
setDecider
void setDecider(OutputPin value)
Sets the value of the 'Decider
' reference.- Parameters:
value
- the new value of the 'Decider' reference.- See Also:
getDecider()
-
getTests
MDWEList<ExecutableNode> getTests()
Returns the value of the 'Test' reference list. The list contents are of typeExecutableNode
. The set of nodes, edges, and designated value that compute a Boolean value to determine if another execution of the body will be performed.- Returns:
- the value of the 'Test' reference list.
- See Also:
UMLPackage.getLoopNode_Test()
-
getTest
ExecutableNode getTest(String name)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Test' reference list.- Parameters:
name
- The 'Name' of theExecutableNode
to retrieve, ornull
.- Returns:
- The first
ExecutableNode
with the specified 'Name', ornull
. - See Also:
getTests()
-
getTest
ExecutableNode getTest(String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
Retrieves the firstExecutableNode
with the specified 'Name' from the ' Test' reference list.- Parameters:
name
- The 'Name' of theExecutableNode
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theExecutableNode
to retrieve, ornull
.- Returns:
- The first
ExecutableNode
with the specified 'Name', ornull
. - See Also:
getTests()
-
getResults
MDWEList<OutputPin> getResults()
Returns the value of the 'Result' containment reference list. The list contents are of typeOutputPin
. A list of output pins that constitute the data flow output of the entire loop.- Returns:
- the value of the 'Result' containment reference list.
- See Also:
UMLPackage.getLoopNode_Result()
-
createResult
OutputPin createResult(String name, Type type)
Creates a newOutputPin
, with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list.- Parameters:
name
- The 'Name' for the newOutputPin
, ornull
.type
- The 'Type' for the newOutputPin
, ornull
.- Returns:
- The new
OutputPin
. - See Also:
getResults()
-
getResult
OutputPin getResult(String name, Type type)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Result' containment reference list.- Parameters:
name
- The 'Name' of theOutputPin
to retrieve, ornull
.type
- The 'Type' of theOutputPin
to retrieve, ornull
.- Returns:
- The first
OutputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getResults()
-
getResult
OutputPin getResult(String name, Type type, boolean ignoreCase, boolean createOnDemand)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Result' containment reference list.- Parameters:
name
- The 'Name' of theOutputPin
to retrieve, ornull
.type
- The 'Type' of theOutputPin
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.createOnDemand
- Whether to create aOutputPin
on demand if not found.- Returns:
- The first
OutputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getResults()
-
getLoopVariables
MDWEList<OutputPin> getLoopVariables()
Returns the value of the 'Loop Variable' reference list. The list contents are of typeOutputPin
. A list of output pins that hold the values of the loop variables during an execution of the loop. When the test fails, the values are movied to the result pins of the loop.- Returns:
- the value of the 'Loop Variable' reference list.
- See Also:
UMLPackage.getLoopNode_LoopVariable()
-
getLoopVariable
OutputPin getLoopVariable(String name, Type type)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Loop Variable' reference list.- Parameters:
name
- The 'Name' of theOutputPin
to retrieve, ornull
.type
- The 'Type' of theOutputPin
to retrieve, ornull
.- Returns:
- The first
OutputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getLoopVariables()
-
getLoopVariable
OutputPin getLoopVariable(String name, Type type, boolean ignoreCase)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Loop Variable' reference list.- Parameters:
name
- The 'Name' of theOutputPin
to retrieve, ornull
.type
- The 'Type' of theOutputPin
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.- Returns:
- The first
OutputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getLoopVariables()
-
getBodyOutputs
MDWEList<OutputPin> getBodyOutputs()
Returns the value of the 'Body Output' reference list. The list contents are of typeOutputPin
. A list of output pins within the body fragment the values of which are moved to the loop variable pins after completion of execution of the body, before the next iteration of the loop begins or before the loop exits.- Returns:
- the value of the 'Body Output' reference list.
- See Also:
UMLPackage.getLoopNode_BodyOutput()
-
getBodyOutput
OutputPin getBodyOutput(String name, Type type)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Body Output' reference list.- Parameters:
name
- The 'Name' of theOutputPin
to retrieve, ornull
.type
- The 'Type' of theOutputPin
to retrieve, ornull
.- Returns:
- The first
OutputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getBodyOutputs()
-
getBodyOutput
OutputPin getBodyOutput(String name, Type type, boolean ignoreCase)
Retrieves the firstOutputPin
with the specified 'Name', and 'Type' from the 'Body Output' reference list.- Parameters:
name
- The 'Name' of theOutputPin
to retrieve, ornull
.type
- The 'Type' of theOutputPin
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.- Returns:
- The first
OutputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getBodyOutputs()
-
getLoopVariableInputs
MDWEList<InputPin> getLoopVariableInputs()
Returns the value of the 'Loop Variable Input' containment reference list. The list contents are of typeInputPin
. A list of values that are moved into the loop variable pins before the first iteration of the loop.- Returns:
- the value of the 'Loop Variable Input' containment reference list.
- See Also:
UMLPackage.getLoopNode_LoopVariableInput()
-
createLoopVariableInput
InputPin createLoopVariableInput(String name, Type type, org.eclipse.emf.ecore.EClass eClass)
Creates a newInputPin
, with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list.- Parameters:
name
- The 'Name' for the newInputPin
, ornull
.type
- The 'Type' for the newInputPin
, ornull
.eClass
- The Ecore class of theInputPin
to create.- Returns:
- The new
InputPin
. - See Also:
getLoopVariableInputs()
-
createLoopVariableInput
InputPin createLoopVariableInput(String name, Type type)
Creates a newInputPin
, with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list.- Parameters:
name
- The 'Name' for the newInputPin
, ornull
.type
- The 'Type' for the newInputPin
, ornull
.- Returns:
- The new
InputPin
. - See Also:
getLoopVariableInputs()
-
getLoopVariableInput
InputPin getLoopVariableInput(String name, Type type)
Retrieves the firstInputPin
with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list.- Parameters:
name
- The 'Name' of theInputPin
to retrieve, ornull
.type
- The 'Type' of theInputPin
to retrieve, ornull
.- Returns:
- The first
InputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getLoopVariableInputs()
-
getLoopVariableInput
InputPin getLoopVariableInput(String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
Retrieves the firstInputPin
with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list.- Parameters:
name
- The 'Name' of theInputPin
to retrieve, ornull
.type
- The 'Type' of theInputPin
to retrieve, ornull
.ignoreCase
- Whether to ignore case inString
comparisons.eClass
- The Ecore class of theInputPin
to retrieve, ornull
.createOnDemand
- Whether to create aInputPin
on demand if not found.- Returns:
- The first
InputPin
with the specified 'Name', and 'Type', ornull
. - See Also:
getLoopVariableInputs()
-
validateInputEdges
boolean validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
Loop variable inputs must not have outgoing edges. true
-
validateBodyOutputPins
boolean validateBodyOutputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The bodyOutput pins are output pins on actions in the body of the loop node. true
-
validateResultNoIncoming
boolean validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, Map context)
The result output pins have no incoming edges. true
-
-