org.eclipse.uml2.uml
Interface LoopNode

All Superinterfaces:
Action, ActivityContent, ActivityGroup, ActivityNode, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, ExecutableNode, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, RedefinableElement, StructuredActivityNode

public interface LoopNode
extends StructuredActivityNode

A representation of the model object 'Loop Node'. A LoopNode is a StructuredActivityNode that represents an iterative loop with setup, test, and body sections.

From package UML::Actions.

The following features are supported:

See Also:
UMLPackage.getLoopNode()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 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.
 
Methods inherited from interface org.eclipse.uml2.uml.StructuredActivityNode
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
 
Methods inherited from interface org.eclipse.uml2.uml.Action
allActions, allOwnedNodes, containingBehavior, createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs, isLocallyReentrant, setIsLocallyReentrant
 
Methods inherited from interface org.eclipse.uml2.uml.ExecutableNode
createHandler, getHandlers
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityNode
getActivity, getIncoming, getIncoming, getIncomings, getInGroup, getInGroup, getInGroups, getInInterruptibleRegion, getInInterruptibleRegion, getInInterruptibleRegions, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoing, getOutgoings, getRedefinedNode, getRedefinedNode, getRedefinedNodes, setActivity, setInStructuredNode
 
Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateNonLeafRedefinition, validateRedefinitionConsistent, validateRedefinitionContextValid
 
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
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityContent
containingActivity
 
Methods inherited from interface org.eclipse.uml2.uml.Namespace
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
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityGroup
getContainedEdge, getContainedEdge, getContainedEdges, getContainedNode, getContainedNode, getContainedNodes, getInActivity, getSubgroup, getSubgroup, getSubgroups, getSuperGroup, setInActivity, validateNodesAndEdges, validateNotContained
 

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 bodyPart. If false, the bodyPart is executed once before the test is performed.

From package UML::Actions.

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

org.eclipse.emf.common.util.EList<ExecutableNode> getBodyParts()
Returns the value of the 'Body Part' reference list. The list contents are of type 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.

Returns:
the value of the 'Body Part' reference list.
See Also:
UMLPackage.getLoopNode_BodyPart()

getBodyPart

ExecutableNode getBodyPart(java.lang.String name)
Retrieves the first ExecutableNode with the specified 'Name' from the 'Body Part' reference list.

Parameters:
name - The 'Name' of the ExecutableNode to retrieve, or null.
Returns:
The first ExecutableNode with the specified 'Name', or null.
See Also:
getBodyParts()

getBodyPart

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.

Parameters:
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.
Returns:
The first ExecutableNode with the specified 'Name', or null.
See Also:
getBodyParts()

getSetupParts

org.eclipse.emf.common.util.EList<ExecutableNode> getSetupParts()
Returns the value of the 'Setup Part' reference list. The list contents are of type 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.

Returns:
the value of the 'Setup Part' reference list.
See Also:
UMLPackage.getLoopNode_SetupPart()

getSetupPart

ExecutableNode getSetupPart(java.lang.String name)
Retrieves the first ExecutableNode with the specified 'Name' from the 'Setup Part' reference list.

Parameters:
name - The 'Name' of the ExecutableNode to retrieve, or null.
Returns:
The first ExecutableNode with the specified 'Name', or null.
See Also:
getSetupParts()

getSetupPart

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.

Parameters:
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.
Returns:
The first ExecutableNode with the specified 'Name', or null.
See Also:
getSetupParts()

getDecider

OutputPin getDecider()
Returns the value of the 'Decider' reference. An OutputPin on an Action in the test section whose Boolean value determines whether to continue executing the loop bodyPart.

From package UML::Actions.

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

org.eclipse.emf.common.util.EList<ExecutableNode> getTests()
Returns the value of the 'Test' reference list. The list contents are of type ExecutableNode. The set of ExecutableNodes executed in order to provide the test result for the loop.

From package UML::Actions.

Returns:
the value of the 'Test' reference list.
See Also:
UMLPackage.getLoopNode_Test()

getTest

ExecutableNode getTest(java.lang.String name)
Retrieves the first ExecutableNode with the specified 'Name' from the 'Test' reference list.

Parameters:
name - The 'Name' of the ExecutableNode to retrieve, or null.
Returns:
The first ExecutableNode with the specified 'Name', or null.
See Also:
getTests()

getTest

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.

Parameters:
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.
Returns:
The first ExecutableNode with the specified 'Name', or null.
See Also:
getTests()

getResults

org.eclipse.emf.common.util.EList<OutputPin> getResults()
Returns the value of the 'Result' containment reference list. The list contents are of type 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.

Returns:
the value of the 'Result' containment reference list.
See Also:
UMLPackage.getLoopNode_Result()

createResult

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.

Parameters:
name - The 'Name' for the new OutputPin, or null.
type - The 'Type' for the new OutputPin, or null.
Returns:
The new OutputPin.
See Also:
getResults()

getResult

OutputPin getResult(java.lang.String name,
                    Type type)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list.

Parameters:
name - The 'Name' of the OutputPin to retrieve, or null.
type - The 'Type' of the OutputPin to retrieve, or null.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getResults()

getResult

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.

Parameters:
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.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getResults()

getLoopVariables

org.eclipse.emf.common.util.EList<OutputPin> getLoopVariables()
Returns the value of the 'Loop Variable' containment reference list. The list contents are of type 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.

Returns:
the value of the 'Loop Variable' containment reference list.
See Also:
UMLPackage.getLoopNode_LoopVariable()

createLoopVariable

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.

Parameters:
name - The 'Name' for the new OutputPin, or null.
type - The 'Type' for the new OutputPin, or null.
Returns:
The new OutputPin.
See Also:
getLoopVariables()

getLoopVariable

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.

Parameters:
name - The 'Name' of the OutputPin to retrieve, or null.
type - The 'Type' of the OutputPin to retrieve, or null.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getLoopVariables()

getLoopVariable

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.

Parameters:
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.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getLoopVariables()

getLoopVariable

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.

Parameters:
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.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getLoopVariables()

getBodyOutputs

org.eclipse.emf.common.util.EList<OutputPin> getBodyOutputs()
Returns the value of the 'Body Output' reference list. The list contents are of type 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.

Returns:
the value of the 'Body Output' reference list.
See Also:
UMLPackage.getLoopNode_BodyOutput()

getBodyOutput

OutputPin getBodyOutput(java.lang.String name,
                        Type type)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Body Output' reference list.

Parameters:
name - The 'Name' of the OutputPin to retrieve, or null.
type - The 'Type' of the OutputPin to retrieve, or null.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getBodyOutputs()

getBodyOutput

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.

Parameters:
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.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getBodyOutputs()

getLoopVariableInputs

org.eclipse.emf.common.util.EList<InputPin> getLoopVariableInputs()
Returns the value of the 'Loop Variable Input' containment reference list. The list contents are of type 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.

Returns:
the value of the 'Loop Variable Input' containment reference list.
See Also:
UMLPackage.getLoopNode_LoopVariableInput()

createLoopVariableInput

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.

Parameters:
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.
Returns:
The new InputPin.
See Also:
getLoopVariableInputs()

createLoopVariableInput

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.

Parameters:
name - The 'Name' for the new InputPin, or null.
type - The 'Type' for the new InputPin, or null.
Returns:
The new InputPin.
See Also:
getLoopVariableInputs()

getLoopVariableInput

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.

Parameters:
name - The 'Name' of the InputPin to retrieve, or null.
type - The 'Type' of the InputPin to retrieve, or null.
Returns:
The first InputPin with the specified 'Name', and 'Type', or null.
See Also:
getLoopVariableInputs()

getLoopVariableInput

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.

Parameters:
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.
Returns:
The first InputPin with the specified 'Name', and 'Type', or null.
See Also:
getLoopVariableInputs()

validateInputEdges

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. loopVariableInput.outgoing->isEmpty()

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

validateExecutableNodes

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. setupPart->union(test)->union(bodyPart)=node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->asSet()

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

validateBodyOutputPins

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. bodyPart.oclAsType(Action).allActions().output->includesAll(bodyOutput)

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

validateSetupTestAndBody

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. setupPart->intersection(test)->isEmpty() and setupPart->intersection(bodyPart)->isEmpty() and test->intersection(bodyPart)->isEmpty()

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

validateMatchingOutputPins

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. bodyOutput->size()=loopVariable->size() and Sequence{1..loopVariable->size()}->forAll(i | bodyOutput->at(i).type.conformsTo(loopVariable->at(i).type) and bodyOutput->at(i).isOrdered = loopVariable->at(i).isOrdered and bodyOutput->at(i).isUnique = loopVariable->at(i).isUnique and loopVariable->at(i).includesMultiplicity(bodyOutput->at(i)))

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

validateMatchingLoopVariables

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. loopVariableInput->size()=loopVariable->size() and loopVariableInput.type=loopVariable.type and loopVariableInput.isUnique=loopVariable.isUnique and loopVariableInput.lower=loopVariable.lower and loopVariableInput.upper=loopVariable.upper

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

validateMatchingResultPins

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. result->size()=loopVariable->size() and result.type=loopVariable.type and result.isUnique=loopVariable.isUnique and result.lower=loopVariable.lower and result.upper=loopVariable.upper

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

validateLoopVariableOutgoing

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. allOwnedNodes()->includesAll(loopVariable.outgoing.target)

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

validateResultNoIncoming

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. result.incoming->isEmpty()

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.