## org.eclipse.uml2.uml
Interface Variable

All Superinterfaces:
  ConnectableElement, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, MultiplicityElement, NamedElement, org.eclipse.emf.common.notify.Notifier, ParameterableElement, TypedElement

    public interface Variable

extends ConnectableElement, MultiplicityElement

A representation of the model object 'Variable'. Variables are elements for passing data between actions indirectly. A local variable stores values shared by the actions within a structured activity group but not accessible outside it. The output of an action may be written to a variable and read for the input to a subsequent action, which is effectively an indirect data flow path. Because there is no predefined relationship between actions that read and write variables, these actions must be sequenced by control flows to prevent race conditions that may occur between actions that read or write the same variable. A variable is considered a connectable element.

The following features are supported:

- `Scope`
- `Activity Scope`

See Also:
  `UMLPackage.getVariable()`

Field Summary

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Method Summary
`Activity` `getActivityScope()` Returns the value of the 'Activity Scope' container reference.
`StructuredActivityNode` `getScope()` Returns the value of the 'Scope' container reference.
`boolean` `isAccessibleBy(Action a)` The isAccessibleBy() operation is not defined in standard UML.
`void` `setActivityScope(Activity value)` Sets the value of the '`Activity Scope`' container reference
`void` `setScope(StructuredActivityNode value)` Sets the value of the '`Scope`' container reference
`boolean` `validateOwned(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` A variable is owned by a StructuredNode or Activity, but not both.

Methods inherited from interface org.eclipse.uml2.uml.ConnectableElement
`getEnds`

Methods inherited from interface org.eclipse.uml2.uml.TypedElement
`getType, setType`

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.ParameterableElement
`getOwningTemplateParameter, getTemplateParameter, isCompatibleWith, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter`

Methods inherited from interface org.eclipse.uml2.uml.MultiplicityElement

`compatibleWith, createLowerValue, createUpperValue, getLower, getLowerValue, getUpper, getUpperValue, includesCardinality, includesMultiplicity, is, isMultivalued, isOrdered, isUnique, lowerBound, setIsOrdered, setIsUnique, setLower, setLowerValue, setUpper, setUpperValue, upperBound, validateLowerGe0, validateUpperGeLower, validateUpperGt0, validateValueSpecificationConstant, validateValueSpecificationNoSideEffects`

Method Detail

### getActivityScope

    Activity getActivityScope()

  Returns the value of the 'Activity Scope' container reference. It is bidirectional and its opposite is '`Variable`'. An activity that owns the variable.

  Returns:
    the value of the 'Activity Scope' container reference.
  See Also:
    `setActivityScope(Activity)`, `UMLPackage.getVariable_ActivityScope()`, `Activity.getVariables()`

### setActivityScope

    void setActivityScope(Activity value)

  Sets the value of the '`Activity Scope`' container reference.

  Parameters:
    `value` - the new value of the 'Activity Scope' container reference.
  See Also:
    `getActivityScope()`

### getScope

    StructuredActivityNode getScope()

  Returns the value of the 'Scope' container reference. It is bidirectional and its opposite is '`Variable`'. A structured activity node that owns the variable.

  Returns:
    the value of the 'Scope' container reference.
  See Also:
    `setScope(StructuredActivityNode)`, `UMLPackage.getVariable_Scope()`, `StructuredActivityNode.getVariables()`

### setScope

    void setScope(StructuredActivityNode value)

  Sets the value of the '`Scope`' container reference.

  Parameters:
    `value` - the new value of the 'Scope' container reference.
  See Also:
    `getScope()`

### validateOwned

    boolean validateOwned(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                          java.util.Map<java.lang.Object,java.lang.Object> context)

  A variable is owned by a StructuredNode or Activity, but not both. true

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

### isAccessibleBy

    boolean isAccessibleBy(Action a)

  The isAccessibleBy() operation is not defined in standard UML. Implementations should define it to specify which actions can access a variable. result = true

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