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

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

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

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.

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