public interface LoopNode extends StructuredActivityNode
From package UML::Actions.
The following features are supported:
UMLPackage.getLoopNode()
SEPARATOR
Modifier and Type | Method and Description |
---|---|
OutputPin |
createLoopVariable(java.lang.String name,
Type type)
Creates a new
OutputPin , with the specified 'Name', and 'Type', and appends it to the 'Loop Variable' containment reference list |
InputPin |
createLoopVariableInput(java.lang.String name,
Type type)
Creates a new
InputPin , with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list |
InputPin |
createLoopVariableInput(java.lang.String name,
Type type,
org.eclipse.emf.ecore.EClass eClass)
Creates a new
InputPin , with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list |
OutputPin |
createResult(java.lang.String name,
Type type)
Creates a new
OutputPin , with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list |
OutputPin |
getBodyOutput(java.lang.String name,
Type type)
Retrieves the first
OutputPin with the specified 'Name', and 'Type' from the 'Body Output' reference list |
OutputPin |
getBodyOutput(java.lang.String name,
Type type,
boolean ignoreCase)
Retrieves the first
OutputPin with the specified 'Name', and 'Type' from the 'Body Output' reference list |
org.eclipse.emf.common.util.EList<OutputPin> |
getBodyOutputs()
Returns the value of the 'Body Output' reference list.
|
ExecutableNode |
getBodyPart(java.lang.String name)
Retrieves the first
ExecutableNode with the specified 'Name' from the 'Body Part' reference list |
ExecutableNode |
getBodyPart(java.lang.String name,
boolean ignoreCase,
org.eclipse.emf.ecore.EClass eClass)
Retrieves the first
ExecutableNode with the specified 'Name' from the 'Body Part' reference list |
org.eclipse.emf.common.util.EList<ExecutableNode> |
getBodyParts()
Returns the value of the 'Body Part' reference list.
|
OutputPin |
getDecider()
Returns the value of the 'Decider' reference
|
OutputPin |
getLoopVariable(java.lang.String name,
Type type)
Retrieves the first
OutputPin with the specified 'Name', and 'Type' from the 'Loop Variable' containment reference list |
OutputPin |
getLoopVariable(java.lang.String name,
Type type,
boolean ignoreCase)
Retrieves the first
OutputPin with the specified 'Name', and 'Type' from the 'Loop Variable' reference list |
OutputPin |
getLoopVariable(java.lang.String name,
Type type,
boolean ignoreCase,
boolean createOnDemand)
Retrieves the first
OutputPin with the specified 'Name', and 'Type' from the 'Loop Variable' containment reference list |
InputPin |
getLoopVariableInput(java.lang.String name,
Type type)
Retrieves the first
InputPin with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list |
InputPin |
getLoopVariableInput(java.lang.String name,
Type type,
boolean ignoreCase,
org.eclipse.emf.ecore.EClass eClass,
boolean createOnDemand)
Retrieves the first
InputPin with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list |
org.eclipse.emf.common.util.EList<InputPin> |
getLoopVariableInputs()
Returns the value of the 'Loop Variable Input' containment reference list.
|
org.eclipse.emf.common.util.EList<OutputPin> |
getLoopVariables()
Returns the value of the 'Loop Variable' containment reference list.
|
OutputPin |
getResult(java.lang.String name,
Type type)
Retrieves the first
OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list |
OutputPin |
getResult(java.lang.String name,
Type type,
boolean ignoreCase,
boolean createOnDemand)
Retrieves the first
OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list |
org.eclipse.emf.common.util.EList<OutputPin> |
getResults()
Returns the value of the 'Result' containment reference list.
|
ExecutableNode |
getSetupPart(java.lang.String name)
Retrieves the first
ExecutableNode with the specified 'Name' from the 'Setup Part' reference list |
ExecutableNode |
getSetupPart(java.lang.String name,
boolean ignoreCase,
org.eclipse.emf.ecore.EClass eClass)
Retrieves the first
ExecutableNode with the specified 'Name' from the 'Setup Part' reference list |
org.eclipse.emf.common.util.EList<ExecutableNode> |
getSetupParts()
Returns the value of the 'Setup Part' reference list.
|
ExecutableNode |
getTest(java.lang.String name)
Retrieves the first
ExecutableNode with the specified 'Name' from the 'Test' reference list |
ExecutableNode |
getTest(java.lang.String name,
boolean ignoreCase,
org.eclipse.emf.ecore.EClass eClass)
Retrieves the first
ExecutableNode with the specified 'Name' from the 'Test' reference list |
org.eclipse.emf.common.util.EList<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,
java.util.Map<java.lang.Object,java.lang.Object> context)
The bodyOutput pins are OutputPins on Actions in the body of the LoopNode.
|
boolean |
validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
The union of the ExecutableNodes in the setupPart, test and bodyPart of a LoopNode must be the same as the subset of nodes contained in the LoopNode (considered as a StructuredActivityNode) that are ExecutableNodes.
|
boolean |
validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
The loopVariableInputs must not have outgoing edges.
|
boolean |
validateLoopVariableOutgoing(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
All ActivityEdges outgoing from loopVariable OutputPins must have targets within the LoopNode.
|
boolean |
validateMatchingLoopVariables(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
A LoopNode must have the same number of loopVariableInputs and loopVariables, and they must match in type, uniqueness and multiplicity.
|
boolean |
validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
A LoopNode must have the same number of bodyOutput Pins as loopVariables, and each bodyOutput Pin must be compatible with the corresponding loopVariable (by positional order) in type, multiplicity, ordering and uniqueness.
|
boolean |
validateMatchingResultPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
A LoopNode must have the same number of result OutputPins and loopVariables, and they must match in type, uniqueness and multiplicity.
|
boolean |
validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
The result OutputPins have no incoming edges.
|
boolean |
validateSetupTestAndBody(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
java.util.Map<java.lang.Object,java.lang.Object> context)
The test and body parts of a ConditionalNode must be disjoint with each other.
|
createEdge, createNode, createStructuredNodeInput, createStructuredNodeInput, createStructuredNodeOutput, createVariable, getEdge, getEdge, getEdges, getNode, getNode, getNodes, getStructuredNodeInput, getStructuredNodeInput, getStructuredNodeInputs, getStructuredNodeOutput, getStructuredNodeOutput, getStructuredNodeOutputs, getVariable, getVariable, getVariables, isMustIsolate, setMustIsolate, sourceNodes, targetNodes, validateEdges, validateInputPinEdges, validateOutputPinEdges
allActions, allOwnedNodes, containingBehavior, createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs, isLocallyReentrant, setIsLocallyReentrant
createHandler, getHandlers
getActivity, getIncoming, getIncoming, getIncomings, getInGroup, getInGroup, getInGroups, getInInterruptibleRegion, getInInterruptibleRegion, getInInterruptibleRegions, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoing, getOutgoings, getRedefinedNode, getRedefinedNode, getRedefinedNodes, setActivity, setInStructuredNode
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateNonLeafRedefinition, validateRedefinitionConsistent, validateRedefinitionContextValid
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
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
getEAnnotation, getEAnnotations
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
eAdapters, eDeliver, eNotify, eSetDeliver
containingActivity
createElementImport, createElementImport, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateCannotImportOwnedMembers, validateCannotImportSelf, validateMembersDistinguishable
getContainedEdge, getContainedEdge, getContainedEdges, getContainedNode, getContainedNode, getContainedNodes, getInActivity, getSubgroup, getSubgroup, getSubgroups, getSuperGroup, setInActivity, validateNodesAndEdges, validateNotContained
boolean isTestedFirst()
"false"
.
If true, the test is performed before the first execution of the bodyPart. If false, the bodyPart is executed once before the test is performed.
From package UML::Actions.
setIsTestedFirst(boolean)
,
UMLPackage.getLoopNode_IsTestedFirst()
void setIsTestedFirst(boolean value)
Is Tested First
' attribute.
value
- the new value of the 'Is Tested First' attribute.isTestedFirst()
org.eclipse.emf.common.util.EList<ExecutableNode> getBodyParts()
ExecutableNode
.
The set of ExecutableNodes that perform the repetitive computations of the loop. The bodyPart is executed as long as the test section produces a true value.
From package UML::Actions.
UMLPackage.getLoopNode_BodyPart()
ExecutableNode getBodyPart(java.lang.String name)
ExecutableNode
with the specified 'Name' from the 'Body Part' reference list.
name
- The 'Name' of the ExecutableNode
to retrieve, or null
.ExecutableNode
with the specified 'Name', or null
.getBodyParts()
ExecutableNode getBodyPart(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
ExecutableNode
with the specified 'Name' from the 'Body Part' reference list.
name
- The 'Name' of the ExecutableNode
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.eClass
- The Ecore class of the ExecutableNode
to retrieve, or null
.ExecutableNode
with the specified 'Name', or null
.getBodyParts()
org.eclipse.emf.common.util.EList<ExecutableNode> getSetupParts()
ExecutableNode
.
The set of ExecutableNodes executed before the first iteration of the loop, in order to initialize values or perform other setup computations.
From package UML::Actions.
UMLPackage.getLoopNode_SetupPart()
ExecutableNode getSetupPart(java.lang.String name)
ExecutableNode
with the specified 'Name' from the 'Setup Part' reference list.
name
- The 'Name' of the ExecutableNode
to retrieve, or null
.ExecutableNode
with the specified 'Name', or null
.getSetupParts()
ExecutableNode getSetupPart(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
ExecutableNode
with the specified 'Name' from the 'Setup Part' reference list.
name
- The 'Name' of the ExecutableNode
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.eClass
- The Ecore class of the ExecutableNode
to retrieve, or null
.ExecutableNode
with the specified 'Name', or null
.getSetupParts()
OutputPin getDecider()
From package UML::Actions.
setDecider(OutputPin)
,
UMLPackage.getLoopNode_Decider()
void setDecider(OutputPin value)
Decider
' reference.
value
- the new value of the 'Decider' reference.getDecider()
org.eclipse.emf.common.util.EList<ExecutableNode> getTests()
ExecutableNode
.
The set of ExecutableNodes executed in order to provide the test result for the loop.
From package UML::Actions.
UMLPackage.getLoopNode_Test()
ExecutableNode getTest(java.lang.String name)
ExecutableNode
with the specified 'Name' from the 'Test' reference list.
name
- The 'Name' of the ExecutableNode
to retrieve, or null
.ExecutableNode
with the specified 'Name', or null
.getTests()
ExecutableNode getTest(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
ExecutableNode
with the specified 'Name' from the 'Test' reference list.
name
- The 'Name' of the ExecutableNode
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.eClass
- The Ecore class of the ExecutableNode
to retrieve, or null
.ExecutableNode
with the specified 'Name', or null
.getTests()
org.eclipse.emf.common.util.EList<OutputPin> getResults()
OutputPin
.
This feature redefines the following features:
A list of OutputPins that receive the loopVariable values after the last iteration of the loop and constitute the output of the LoopNode.From package UML::Actions.
UMLPackage.getLoopNode_Result()
OutputPin createResult(java.lang.String name, Type type)
OutputPin
, with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list.
name
- The 'Name' for the new OutputPin
, or null
.type
- The 'Type' for the new OutputPin
, or null
.OutputPin
.getResults()
OutputPin getResult(java.lang.String name, Type type)
OutputPin
with the specified 'Name', and 'Type' from the 'Result' containment reference list.
name
- The 'Name' of the OutputPin
to retrieve, or null
.type
- The 'Type' of the OutputPin
to retrieve, or null
.OutputPin
with the specified 'Name', and 'Type', or null
.getResults()
OutputPin getResult(java.lang.String name, Type type, boolean ignoreCase, boolean createOnDemand)
OutputPin
with the specified 'Name', and 'Type' from the 'Result' containment reference list.
name
- The 'Name' of the OutputPin
to retrieve, or null
.type
- The 'Type' of the OutputPin
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.createOnDemand
- Whether to create a OutputPin
on demand if not found.OutputPin
with the specified 'Name', and 'Type', or null
.getResults()
org.eclipse.emf.common.util.EList<OutputPin> getLoopVariables()
OutputPin
.
This feature subsets the following features:
A list of OutputPins that hold the values of the loop variables during an execution of the loop. When the test fails, the values are moved to the result OutputPins of the loop.From package UML::Actions.
UMLPackage.getLoopNode_LoopVariable()
OutputPin createLoopVariable(java.lang.String name, Type type)
OutputPin
, with the specified 'Name', and 'Type', and appends it to the 'Loop Variable' containment reference list.
name
- The 'Name' for the new OutputPin
, or null
.type
- The 'Type' for the new OutputPin
, or null
.OutputPin
.getLoopVariables()
OutputPin getLoopVariable(java.lang.String name, Type type)
OutputPin
with the specified 'Name', and 'Type' from the 'Loop Variable' containment reference list.
name
- The 'Name' of the OutputPin
to retrieve, or null
.type
- The 'Type' of the OutputPin
to retrieve, or null
.OutputPin
with the specified 'Name', and 'Type', or null
.getLoopVariables()
OutputPin getLoopVariable(java.lang.String name, Type type, boolean ignoreCase)
OutputPin
with the specified 'Name', and 'Type' from the 'Loop Variable' reference list.
name
- The 'Name' of the OutputPin
to retrieve, or null
.type
- The 'Type' of the OutputPin
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.OutputPin
with the specified 'Name', and 'Type', or null
.getLoopVariables()
OutputPin getLoopVariable(java.lang.String name, Type type, boolean ignoreCase, boolean createOnDemand)
OutputPin
with the specified 'Name', and 'Type' from the 'Loop Variable' containment reference list.
name
- The 'Name' of the OutputPin
to retrieve, or null
.type
- The 'Type' of the OutputPin
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.createOnDemand
- Whether to create a OutputPin
on demand if not found.OutputPin
with the specified 'Name', and 'Type', or null
.getLoopVariables()
org.eclipse.emf.common.util.EList<OutputPin> getBodyOutputs()
OutputPin
.
The OutputPins on Actions within the bodyPart, the values of which are moved to the loopVariable OutputPins after the completion of each execution of the bodyPart, before the next iteration of the loop begins or before the loop exits.
From package UML::Actions.
UMLPackage.getLoopNode_BodyOutput()
OutputPin getBodyOutput(java.lang.String name, Type type)
OutputPin
with the specified 'Name', and 'Type' from the 'Body Output' reference list.
name
- The 'Name' of the OutputPin
to retrieve, or null
.type
- The 'Type' of the OutputPin
to retrieve, or null
.OutputPin
with the specified 'Name', and 'Type', or null
.getBodyOutputs()
OutputPin getBodyOutput(java.lang.String name, Type type, boolean ignoreCase)
OutputPin
with the specified 'Name', and 'Type' from the 'Body Output' reference list.
name
- The 'Name' of the OutputPin
to retrieve, or null
.type
- The 'Type' of the OutputPin
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.OutputPin
with the specified 'Name', and 'Type', or null
.getBodyOutputs()
org.eclipse.emf.common.util.EList<InputPin> getLoopVariableInputs()
InputPin
.
This feature redefines the following features:
A list of InputPins whose values are moved into the loopVariable Pins before the first iteration of the loop.From package UML::Actions.
UMLPackage.getLoopNode_LoopVariableInput()
InputPin createLoopVariableInput(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)
InputPin
, with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list.
name
- The 'Name' for the new InputPin
, or null
.type
- The 'Type' for the new InputPin
, or null
.eClass
- The Ecore class of the InputPin
to create.InputPin
.getLoopVariableInputs()
InputPin createLoopVariableInput(java.lang.String name, Type type)
InputPin
, with the specified 'Name', and 'Type', and appends it to the 'Loop Variable Input' containment reference list.
name
- The 'Name' for the new InputPin
, or null
.type
- The 'Type' for the new InputPin
, or null
.InputPin
.getLoopVariableInputs()
InputPin getLoopVariableInput(java.lang.String name, Type type)
InputPin
with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list.
name
- The 'Name' of the InputPin
to retrieve, or null
.type
- The 'Type' of the InputPin
to retrieve, or null
.InputPin
with the specified 'Name', and 'Type', or null
.getLoopVariableInputs()
InputPin getLoopVariableInput(java.lang.String name, Type type, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
InputPin
with the specified 'Name', and 'Type' from the 'Loop Variable Input' containment reference list.
name
- The 'Name' of the InputPin
to retrieve, or null
.type
- The 'Type' of the InputPin
to retrieve, or null
.ignoreCase
- Whether to ignore case in String
comparisons.eClass
- The Ecore class of the InputPin
to retrieve, or null
.createOnDemand
- Whether to create a InputPin
on demand if not found.InputPin
with the specified 'Name', and 'Type', or null
.getLoopVariableInputs()
boolean validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateBodyOutputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateSetupTestAndBody(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateMatchingLoopVariables(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateMatchingResultPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateLoopVariableOutgoing(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.
boolean validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
diagnostics
- The chain of diagnostics to which problems are to be appended.context
- The cache of context-specific information.