org.eclipse.uml2
Interface ExpansionRegion

All Superinterfaces:
Action, ActivityGroup, ActivityNode, Element, EModelElement, EObject, ExecutableNode, NamedElement, Namespace, Notifier, RedefinableElement, StructuredActivityNode, TemplateableElement

public interface ExpansionRegion
extends StructuredActivityNode

A representation of the model object 'Expansion Region'. An expansion region is a strictly nested region of an activity with explicit input and outputs (modeled as ExpansionNodes). Each input is a collection of values. If there are multiple input pins, each of them must hold the same kind of collection, although the types of the elements in the different collections may vary. The expansion region is executed once for each element (or position) in the input collection. If an expansion region has outputs, they must be collections of the same kind and must contain elements of the same type as the corresponding inputs. The number of output collections at runtime can differ from the number of input collections. On each execution of the region, an output value from the region is inserted into an output collection at the same position as the input elements. If the region execution ends with no output, then nothing is added to the output collection. If all the executions provide an output to the collection, then the output collections will have the same number of elements as the input collections. The inputs and outputs to an expansion region are modeled as ExpansionNodes. From �outside� of the region, the values on these nodes appear as collections. From �inside� the region the values appear as elements of the collections. Object flow edges connect pins outside the region to input and output expansion nodes as collections. Object flow edges connect pins inside the region to input and output expansion nodes as individual elements. From the inside of the region, these nodes are visible as individual values. If an expansion node has a name, it is the name of the individual element within the region. Any object flow edges that cross the boundary of the region, without passing through expansion nodes, provide values that are fixed within the different executions of the region.

The following features are supported:

See Also:
UML2Package.getExpansionRegion()

Field Summary
static String copyright
           
 
Fields inherited from interface org.eclipse.uml2.NamedElement
SEPARATOR
 
Method Summary
 ExpansionNode getInputElement(String unqualifiedName)
          Retrieves the ExpansionNode with the specified name from the 'Input Element' reference list
 EList getInputElements()
          Returns the value of the 'Input Element' reference list.
 ExpansionKind getMode()
          Returns the value of the 'Mode' attribute.
 ExpansionNode getOutputElement(String unqualifiedName)
          Retrieves the ExpansionNode with the specified name from the 'Output Element' reference list
 EList getOutputElements()
          Returns the value of the 'Output Element' reference list.
 void setMode(ExpansionKind value)
          Sets the value of the 'Mode' attribute
 
Methods inherited from interface org.eclipse.uml2.StructuredActivityNode
createContainedEdge, createContainedNode, createVariable, getActivity, getActivityGroup_activity, getContainedEdge, getContainedEdges, getContainedNode, getContainedNodes, getOwnedMembers, getVariable, getVariables, isMustIsolate, setActivity, setActivityGroup_activity, setMustIsolate
 
Methods inherited from interface org.eclipse.uml2.Action
createLocalPostcondition, createLocalPrecondition, getContext, getEffect, getInput, getInputs, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPreconditions, getOutput, getOutputs, getOwnedElements, setEffect
 
Methods inherited from interface org.eclipse.uml2.ExecutableNode
createHandler, getHandlers
 
Methods inherited from interface org.eclipse.uml2.ActivityNode
getIncoming, getIncomings, getInGroups, getInInterruptibleRegions, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoings, getOwner, getRedefinedElement, getRedefinedElements, setInStructuredNode
 
Methods inherited from interface org.eclipse.uml2.RedefinableElement
getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateRedefinitionConsistent, validateRedefinitionContextValid
 
Methods inherited from interface org.eclipse.uml2.NamedElement
allNamespaces, createNameExpression, getClientDependencies, getClientDependency, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, qualifiedName, separator, setName, setNameExpression, setVisibility, validateNoName, validateQualifiedName, validateVisibilityNeedsOwnership
 
Methods inherited from interface org.eclipse.uml2.TemplateableElement
createOwnedTemplateSignature, createTemplateBinding, getOwnedTemplateSignature, getTemplateBindings, parameterableElements, setOwnedTemplateSignature
 
Methods inherited from interface org.eclipse.uml2.Element
addKeyword, allOwnedElements, apply, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedVersion, getKeywords, getModel, getNearestPackage, getOwnedComments, getValue, hasKeyword, isApplied, isRequired, mustBeOwned, removeKeyword, setValue, unapply, 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, 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.Namespace
createElementImport, createOwnedRule, createPackageImport, excludeCollisions, getElementImports, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMembers, getNamesOfMember, getOwnedElements, getOwnedRule, getOwnedRules, getPackageImports, importedMember, importElement, importMembers, importPackage, membersAreDistinguishable, validateImportedMemberDerived, validateMembersAreDistinguishable
 
Methods inherited from interface org.eclipse.uml2.ActivityGroup
getOwnedElements, getOwner, getSubgroups, getSuperGroup
 

Field Detail

copyright

public static final String copyright

See Also:
Constant Field Values
Method Detail

getMode

public ExpansionKind getMode()
Returns the value of the 'Mode' attribute. The literals are from the enumeration ExpansionKind.

If the meaning of the 'Mode' attribute isn't clear, there really should be more of a description here...

The way in which the executions interact: parallel � all interactions are independent iterative � the interactions occur in order of the elements stream � a stream of values flows into a single execution

Returns:
the value of the 'Mode' attribute.
See Also:
ExpansionKind, setMode(ExpansionKind), UML2Package.getExpansionRegion_Mode()

setMode

public void setMode(ExpansionKind value)
Sets the value of the 'Mode' attribute.

Parameters:
value - the new value of the 'Mode' attribute.
See Also:
ExpansionKind, getMode()

getOutputElements

public EList getOutputElements()
Returns the value of the 'Output Element' reference list. The list contents are of type ExpansionNode. It is bidirectional and its opposite is 'Region As Output'.

If the meaning of the 'Output Element' reference list isn't clear, there really should be more of a description here...

An object node that accepts a separate element of the output collection during each of the multiple executions of the region. The values are formed into a collection that is available when the execution of the region is complete.

Returns:
the value of the 'Output Element' reference list.
See Also:
UML2Package.getExpansionRegion_OutputElement(), ExpansionNode.getRegionAsOutput()

getOutputElement

public ExpansionNode getOutputElement(String unqualifiedName)
Retrieves the ExpansionNode with the specified name from the 'Output Element' reference list.

Parameters:
unqualifiedName - The unqualified name of the ExpansionNode to retrieve.
Returns:
The ExpansionNode with the specified name, or null.
See Also:
getOutputElements()

getInputElements

public EList getInputElements()
Returns the value of the 'Input Element' reference list. The list contents are of type ExpansionNode. It is bidirectional and its opposite is 'Region As Input'.

If the meaning of the 'Input Element' reference list isn't clear, there really should be more of a description here...

An object node that holds a separate element of the input collection during each of the multiple executions of the region.

Returns:
the value of the 'Input Element' reference list.
See Also:
UML2Package.getExpansionRegion_InputElement(), ExpansionNode.getRegionAsInput()

getInputElement

public ExpansionNode getInputElement(String unqualifiedName)
Retrieves the ExpansionNode with the specified name from the 'Input Element' reference list.

Parameters:
unqualifiedName - The unqualified name of the ExpansionNode to retrieve.
Returns:
The ExpansionNode with the specified name, or null.
See Also:
getInputElements()

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