org.eclipse.uml2.uml
Interface StructuredActivityNode

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

public interface StructuredActivityNode
extends Action, Namespace, ActivityGroup

A representation of the model object 'Structured Activity Node'. A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an activity group. The subordinate nodes must belong to only one structured activity node, although they may be nested. Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is "isolated," then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node 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 node.

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
 boolean validateEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The edges owned by a structured node must have source and target nodes in the structured node, and vice versa.
 boolean validateInputPinEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The incoming edges of the input pins 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 edges of the output pins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.
 
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, 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, validateOwned, validateOwnedStructuredNode
 
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.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, getSubgroup, getSubgroup, getSubgroups, getSuperGroup, setInActivity, validateGroupOwned, 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:

A variable defined in the scope of the structured activity node. It has no value and may not be accessed

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:

Nodes immediately contained in the group.

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

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

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 the actions in the node execute in isolation from actions outside the node.

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:

Edges immediately contained in the structured node.

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 edges of the output pins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode. true

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 owned by a structured node must have source and target nodes in the structured node, and vice versa. true

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 edges of the input pins of a StructuredActivityNode must have sources that are not within the StructuredActivityNode. true

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

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