org.eclipse.uml2.uml
Interface StructuredActivityNode

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
All Known Subinterfaces:
ConditionalNode, ExpansionRegion, LoopNode, SequenceNode

public interface StructuredActivityNode
extends Action, Namespace, ActivityGroup

A representation of the model object 'Structured Activity Node'. A StructuredActivityNode is an Action that is also an ActivityGroup and whose behavior is specified by the ActivityNodes and ActivityEdges it so contains. Unlike other kinds of ActivityGroup, a StructuredActivityNode owns the ActivityNodes and ActivityEdges it contains, and so a node or edge can only be directly contained in one StructuredActivityNode, though StructuredActivityNodes may be nested.

From package UML::Actions.

The following features are supported:

See Also:
UMLPackage.getStructuredActivityNode()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 ActivityEdge createEdge(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)
          Creates a new ActivityEdge, with the specified 'Name', and appends it to the 'Edge' containment reference list
 ActivityNode createNode(java.lang.String name, org.eclipse.emf.ecore.EClass eClass)
          Creates a new ActivityNode, with the specified 'Name', and appends it to the 'Node' containment reference list
 InputPin createStructuredNodeInput(java.lang.String name, Type type)
          Creates a new InputPin, with the specified 'Name', and 'Type', and appends it to the 'Structured Node Input' containment reference list
 InputPin createStructuredNodeInput(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 'Structured Node Input' containment reference list
 OutputPin createStructuredNodeOutput(java.lang.String name, Type type)
          Creates a new OutputPin, with the specified 'Name', and 'Type', and appends it to the 'Structured Node Output' containment reference list
 Variable createVariable(java.lang.String name, Type type)
          Creates a new Variable, with the specified 'Name', and 'Type', and appends it to the 'Variable' containment reference list
 ActivityEdge getEdge(java.lang.String name)
          Retrieves the first ActivityEdge with the specified 'Name' from the 'Edge' containment reference list
 ActivityEdge getEdge(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
          Retrieves the first ActivityEdge with the specified 'Name' from the 'Edge' containment reference list
 org.eclipse.emf.common.util.EList<ActivityEdge> getEdges()
          Returns the value of the 'Edge' containment reference list.
 ActivityNode getNode(java.lang.String name)
          Retrieves the first ActivityNode with the specified 'Name' from the 'Node' containment reference list
 ActivityNode getNode(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass, boolean createOnDemand)
          Retrieves the first ActivityNode with the specified 'Name' from the 'Node' containment reference list
 org.eclipse.emf.common.util.EList<ActivityNode> getNodes()
          Returns the value of the 'Node' containment reference list.
 InputPin getStructuredNodeInput(java.lang.String name, Type type)
          Retrieves the first InputPin with the specified 'Name', and 'Type' from the 'Structured Node Input' containment reference list
 InputPin getStructuredNodeInput(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 'Structured Node Input' containment reference list
 org.eclipse.emf.common.util.EList<InputPin> getStructuredNodeInputs()
          Returns the value of the 'Structured Node Input' containment reference list.
 OutputPin getStructuredNodeOutput(java.lang.String name, Type type)
          Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Structured Node Output' containment reference list
 OutputPin getStructuredNodeOutput(java.lang.String name, Type type, boolean ignoreCase, boolean createOnDemand)
          Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Structured Node Output' containment reference list
 org.eclipse.emf.common.util.EList<OutputPin> getStructuredNodeOutputs()
          Returns the value of the 'Structured Node Output' containment reference list.
 Variable getVariable(java.lang.String name, Type type)
          Retrieves the first Variable with the specified 'Name', and 'Type' from the 'Variable' containment reference list
 Variable getVariable(java.lang.String name, Type type, boolean ignoreCase, boolean createOnDemand)
          Retrieves the first Variable with the specified 'Name', and 'Type' from the 'Variable' containment reference list
 org.eclipse.emf.common.util.EList<Variable> getVariables()
          Returns the value of the 'Variable' containment reference list.
 boolean isMustIsolate()
          Returns the value of the 'Must Isolate' attribute.
 void setMustIsolate(boolean value)
          Sets the value of the 'Must Isolate' attribute
 org.eclipse.emf.common.util.EList<ActivityNode> sourceNodes()
          Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as sources of edges owned by the StructuredActivityNode.
 org.eclipse.emf.common.util.EList<ActivityNode> targetNodes()
          Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as targets of edges owned by the StructuredActivityNode.
 boolean validateEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The edges of a StructuredActivityNode are all the ActivityEdges with source and target ActivityNodes contained directly or indirectly within the StructuredActivityNode and at least one of the source or target not contained in any more deeply nested StructuredActivityNode.
 boolean validateInputPinEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The incoming ActivityEdges of an InputPin of a StructuredActivityNode must have sources that are not within the StructuredActivityNode.
 boolean validateOutputPinEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The outgoing ActivityEdges of the OutputPins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.
 
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

getVariables

org.eclipse.emf.common.util.EList<Variable> getVariables()
Returns the value of the 'Variable' containment reference list. The list contents are of type Variable. It is bidirectional and its opposite is 'Scope'.

This feature subsets the following features:

The Variables defined in the scope of the StructuredActivityNode.

From package UML::Actions.

Returns:
the value of the 'Variable' containment reference list.
See Also:
UMLPackage.getStructuredActivityNode_Variable(), Variable.getScope()

createVariable

Variable createVariable(java.lang.String name,
                        Type type)
Creates a new Variable, with the specified 'Name', and 'Type', and appends it to the 'Variable' containment reference list.

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

getVariable

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

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

getVariable

Variable getVariable(java.lang.String name,
                     Type type,
                     boolean ignoreCase,
                     boolean createOnDemand)
Retrieves the first Variable with the specified 'Name', and 'Type' from the 'Variable' containment reference list.

Parameters:
name - The 'Name' of the Variable to retrieve, or null.
type - The 'Type' of the Variable to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
createOnDemand - Whether to create a Variable on demand if not found.
Returns:
The first Variable with the specified 'Name', and 'Type', or null.
See Also:
getVariables()

getNodes

org.eclipse.emf.common.util.EList<ActivityNode> getNodes()
Returns the value of the 'Node' containment reference list. The list contents are of type ActivityNode. It is bidirectional and its opposite is 'In Structured Node'.

This feature subsets the following features:

The ActivityNodes immediately contained in the StructuredActivityNode.

From package UML::Actions.

Returns:
the value of the 'Node' containment reference list.
See Also:
UMLPackage.getStructuredActivityNode_Node(), ActivityNode.getInStructuredNode()

createNode

ActivityNode createNode(java.lang.String name,
                        org.eclipse.emf.ecore.EClass eClass)
Creates a new ActivityNode, with the specified 'Name', and appends it to the 'Node' containment reference list.

Parameters:
name - The 'Name' for the new ActivityNode, or null.
eClass - The Ecore class of the ActivityNode to create.
Returns:
The new ActivityNode.
See Also:
getNodes()

getNode

ActivityNode getNode(java.lang.String name)
Retrieves the first ActivityNode with the specified 'Name' from the 'Node' containment reference list.

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

getNode

ActivityNode getNode(java.lang.String name,
                     boolean ignoreCase,
                     org.eclipse.emf.ecore.EClass eClass,
                     boolean createOnDemand)
Retrieves the first ActivityNode with the specified 'Name' from the 'Node' containment reference list.

Parameters:
name - The 'Name' of the ActivityNode to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the ActivityNode to retrieve, or null.
createOnDemand - Whether to create a ActivityNode on demand if not found.
Returns:
The first ActivityNode with the specified 'Name', or null.
See Also:
getNodes()

getStructuredNodeInputs

org.eclipse.emf.common.util.EList<InputPin> getStructuredNodeInputs()
Returns the value of the 'Structured Node Input' containment reference list. The list contents are of type InputPin.

This feature subsets the following features:

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

The InputPins owned by the StructuredActivityNode.

From package UML::Actions.

Returns:
the value of the 'Structured Node Input' containment reference list.
See Also:
UMLPackage.getStructuredActivityNode_StructuredNodeInput()

createStructuredNodeInput

InputPin createStructuredNodeInput(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 'Structured Node 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:
getStructuredNodeInputs()

createStructuredNodeInput

InputPin createStructuredNodeInput(java.lang.String name,
                                   Type type)
Creates a new InputPin, with the specified 'Name', and 'Type', and appends it to the 'Structured Node 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:
getStructuredNodeInputs()

getStructuredNodeInput

InputPin getStructuredNodeInput(java.lang.String name,
                                Type type)
Retrieves the first InputPin with the specified 'Name', and 'Type' from the 'Structured Node 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:
getStructuredNodeInputs()

getStructuredNodeInput

InputPin getStructuredNodeInput(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 'Structured Node 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:
getStructuredNodeInputs()

getStructuredNodeOutputs

org.eclipse.emf.common.util.EList<OutputPin> getStructuredNodeOutputs()
Returns the value of the 'Structured Node Output' containment reference list. The list contents are of type OutputPin.

This feature subsets the following features:

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

The OutputPins owned by the StructuredActivityNode.

From package UML::Actions.

Returns:
the value of the 'Structured Node Output' containment reference list.
See Also:
UMLPackage.getStructuredActivityNode_StructuredNodeOutput()

createStructuredNodeOutput

OutputPin createStructuredNodeOutput(java.lang.String name,
                                     Type type)
Creates a new OutputPin, with the specified 'Name', and 'Type', and appends it to the 'Structured Node Output' 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:
getStructuredNodeOutputs()

getStructuredNodeOutput

OutputPin getStructuredNodeOutput(java.lang.String name,
                                  Type type)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Structured Node Output' 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:
getStructuredNodeOutputs()

getStructuredNodeOutput

OutputPin getStructuredNodeOutput(java.lang.String name,
                                  Type type,
                                  boolean ignoreCase,
                                  boolean createOnDemand)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Structured Node Output' 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:
getStructuredNodeOutputs()

isMustIsolate

boolean isMustIsolate()
Returns the value of the 'Must Isolate' attribute. The default value is "false". If true, then any object used by an Action within the StructuredActivityNode cannot be accessed by any Action outside the node until the StructuredActivityNode as a whole completes. Any concurrent Actions that would result in accessing such objects are required to have their execution deferred until the completion of the StructuredActivityNode.

From package UML::Actions.

Returns:
the value of the 'Must Isolate' attribute.
See Also:
setMustIsolate(boolean), UMLPackage.getStructuredActivityNode_MustIsolate()

setMustIsolate

void setMustIsolate(boolean value)
Sets the value of the 'Must Isolate' attribute.

Parameters:
value - the new value of the 'Must Isolate' attribute.
See Also:
isMustIsolate()

getEdges

org.eclipse.emf.common.util.EList<ActivityEdge> getEdges()
Returns the value of the 'Edge' containment reference list. The list contents are of type ActivityEdge. It is bidirectional and its opposite is 'In Structured Node'.

This feature subsets the following features:

The ActivityEdges immediately contained in the StructuredActivityNode.

From package UML::Actions.

Returns:
the value of the 'Edge' containment reference list.
See Also:
UMLPackage.getStructuredActivityNode_Edge(), ActivityEdge.getInStructuredNode()

createEdge

ActivityEdge createEdge(java.lang.String name,
                        org.eclipse.emf.ecore.EClass eClass)
Creates a new ActivityEdge, with the specified 'Name', and appends it to the 'Edge' containment reference list.

Parameters:
name - The 'Name' for the new ActivityEdge, or null.
eClass - The Ecore class of the ActivityEdge to create.
Returns:
The new ActivityEdge.
See Also:
getEdges()

getEdge

ActivityEdge getEdge(java.lang.String name)
Retrieves the first ActivityEdge with the specified 'Name' from the 'Edge' containment reference list.

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

getEdge

ActivityEdge getEdge(java.lang.String name,
                     boolean ignoreCase,
                     org.eclipse.emf.ecore.EClass eClass,
                     boolean createOnDemand)
Retrieves the first ActivityEdge with the specified 'Name' from the 'Edge' containment reference list.

Parameters:
name - The 'Name' of the ActivityEdge to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the ActivityEdge to retrieve, or null.
createOnDemand - Whether to create a ActivityEdge on demand if not found.
Returns:
The first ActivityEdge with the specified 'Name', or null.
See Also:
getEdges()

validateOutputPinEdges

boolean validateOutputPinEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                               java.util.Map<java.lang.Object,java.lang.Object> context)
The outgoing ActivityEdges of the OutputPins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode. output.outgoing.target->excludesAll(allOwnedNodes()-input)

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

validateEdges

boolean validateEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                      java.util.Map<java.lang.Object,java.lang.Object> context)
The edges of a StructuredActivityNode are all the ActivityEdges with source and target ActivityNodes contained directly or indirectly within the StructuredActivityNode and at least one of the source or target not contained in any more deeply nested StructuredActivityNode. edge=self.sourceNodes().outgoing->intersection(self.allOwnedNodes().incoming)-> union(self.targetNodes().incoming->intersection(self.allOwnedNodes().outgoing))->asSet()

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

validateInputPinEdges

boolean validateInputPinEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                              java.util.Map<java.lang.Object,java.lang.Object> context)
The incoming ActivityEdges of an InputPin of a StructuredActivityNode must have sources that are not within the StructuredActivityNode. input.incoming.source->excludesAll(allOwnedNodes()-output)

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

sourceNodes

org.eclipse.emf.common.util.EList<ActivityNode> sourceNodes()
Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as sources of edges owned by the StructuredActivityNode. result = (node->union(input.oclAsType(ActivityNode)->asSet())-> union(node->select(oclIsKindOf(Action)).oclAsType(Action).output)->asSet())

From package UML::Actions.


targetNodes

org.eclipse.emf.common.util.EList<ActivityNode> targetNodes()
Return those ActivityNodes contained immediately within the StructuredActivityNode that may act as targets of edges owned by the StructuredActivityNode. result = (node->union(output.oclAsType(ActivityNode)->asSet())-> union(node->select(oclIsKindOf(Action)).oclAsType(Action).input)->asSet())

From package UML::Actions.


Copyright 2003, 2014 IBM Corporation, CEA, and others.
All Rights Reserved.