org.eclipse.uml2.uml
Interface LoopNode

All Superinterfaces:
Action, 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 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 org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 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' 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
 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' 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 output pins on actions in the body of the loop node.
 boolean validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Loop variable inputs must not have outgoing edges.
 boolean validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The result output pins have no incoming edges.
 
Methods inherited from interface org.eclipse.uml2.uml.StructuredActivityNode
createEdge, createNode, createVariable, getEdge, getEdge, getEdges, getNode, getNode, getNodes, getVariable, getVariable, getVariables, isMustIsolate, setMustIsolate, validateEdges
 
Methods inherited from interface org.eclipse.uml2.uml.Action
createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs
 
Methods inherited from interface org.eclipse.uml2.uml.ExecutableNode
createHandler, getHandlers
 
Methods inherited from interface org.eclipse.uml2.uml.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 org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, 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.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, validateMembersDistinguishable
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityGroup
getContainedEdge, getContainedEdge, getContainedEdges, getContainedNode, getContainedNode, getContainedNodes, getInActivity, getSubgroups, getSuperGroup, setInActivity, validateGroupOwned, 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 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

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 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(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 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(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 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

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 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(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 subsets the following features:

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(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' reference list. The list contents are of type OutputPin. 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(java.lang.String name,
                          Type type)
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.
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()

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. 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(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 subsets the following features:

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(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)
Loop variable inputs must not have outgoing edges. true

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 output pins on actions in the body of the loop node. true

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 output pins have no incoming edges. true

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

Copyright 2003, 2007 IBM Corporation and others.
All Rights Reserved.