## org.eclipse.ocl.uml.impl
Class ExpressionInOCLImpl

    java.lang.Object
      org.eclipse.emf.common.notify.impl.BasicNotifierImpl
          org.eclipse.emf.ecore.impl.BasicEObjectImpl
              org.eclipse.emf.ecore.impl.EObjectImpl
                  org.eclipse.emf.ecore.impl.FlatEObjectImpl
                      org.eclipse.emf.ecore.impl.EModelElementImpl
                          org.eclipse.uml2.uml.internal.impl.ElementImpl
                              org.eclipse.uml2.uml.internal.impl.NamedElementImpl
                                  org.eclipse.uml2.uml.internal.impl.PackageableElementImpl
                                      org.eclipse.uml2.uml.internal.impl.ValueSpecificationImpl
                                          org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl
                                              org.eclipse.ocl.uml.impl.ExpressionInOCLImpl

All Implemented Interfaces:
  Notifier, EModelElement, EObject, InternalEObject, ExpressionInOCL<Classifier,Parameter>, Visitable, Element, NamedElement, OpaqueExpression, PackageableElement, ParameterableElement, TypedElement, ValueSpecification

    public class ExpressionInOCLImpl

extends org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl
implements ExpressionInOCL

An implementation of the model object 'Expression In OCL'.

The following features are implemented:

- `Body Expression`
- `Context Variable`
- `Result Variable`
- `Parameter Variable`

Nested Class Summary

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
`BasicEObjectImpl.EPropertiesHolder, BasicEObjectImpl.EPropertiesHolderBaseImpl, BasicEObjectImpl.EPropertiesHolderImpl`

Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
`BasicNotifierImpl.EAdapterList<E extends Object & Adapter>`

Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject
`InternalEObject.EStore`

Field Summary
`protected OCLExpression<Classifier>` `bodyExpression` The cached value of the '`Body Expression`' containment reference
`protected Variable<Classifier,Parameter>` `contextVariable` The cached value of the '`Context Variable`' containment reference
`protected EList<Variable<Classifier,Parameter>>` `parameterVariable` The cached value of the '`Parameter Variable`' containment reference list
`protected Variable<Classifier,Parameter>` `resultVariable` The cached value of the '`Result Variable`' containment reference

Fields inherited from class org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl
`behavior, bodies, languages`

Fields inherited from class org.eclipse.uml2.uml.internal.impl.ValueSpecificationImpl
`type`

Fields inherited from class org.eclipse.uml2.uml.internal.impl.PackageableElementImpl
`templateParameter`

Fields inherited from class org.eclipse.uml2.uml.internal.impl.NamedElementImpl
`clientDependencies, name, NAME_EDEFAULT, NAME_ESETFLAG, nameExpression, OWNED_ELEMENT_ESUBSETS, QUALIFIED_NAME_EDEFAULT, VISIBILITY_EDEFAULT, VISIBILITY_EFLAG, VISIBILITY_EFLAG_DEFAULT, VISIBILITY_EFLAG_OFFSET, VISIBILITY_EFLAG_VALUES, VISIBILITY_ESETFLAG`

Fields inherited from class org.eclipse.uml2.uml.internal.impl.ElementImpl
`ownedComments`

Fields inherited from class org.eclipse.emf.ecore.impl.EModelElementImpl
`eAnnotations, EFROZEN, ELAST_EMODEL_ELEMENT_FLAG`

Fields inherited from class org.eclipse.emf.ecore.impl.FlatEObjectImpl
`eContents, eCrossReferences, eProxyURI`

Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
`eAdapters, eContainer, eContainerFeatureID, EDELIVER, EDYNAMIC_CLASS, eFlags, ELAST_EOBJECT_FLAG, ELAST_NOTIFIER_FLAG, eProperties, EPROXY`

Fields inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
`EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET`

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

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

Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
`EOPPOSITE_FEATURE_BASE`

Constructor Summary
`protected` `ExpressionInOCLImpl()`

Method Summary

`

`<T,U extends Visitor<T,?,?,?,?,?,?,?,?,?>> T`

`

`accept(U v)`

`NotificationChain` `basicSetBodyExpression(OCLExpression<Classifier> newBodyExpression, NotificationChain msgs)`
`NotificationChain` `basicSetContextVariable(Variable<Classifier,Parameter> newContextVariable, NotificationChain msgs)`
`NotificationChain` `basicSetResultVariable(Variable<Classifier,Parameter> newResultVariable, NotificationChain msgs)`
`int` `eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass)`
`int` `eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass)`
`Object` `eGet(int featureID, boolean resolve, boolean coreType)`
`NotificationChain` `eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)`
`boolean` `eIsSet(int featureID)`
`void` `eSet(int featureID, Object newValue)`
`protected EClass` `eStaticClass()`
`void` `eUnset(int featureID)`
`OCLExpression<Classifier>` `getBodyExpression()`
`Variable<Classifier,Parameter>` `getContextVariable()`
`EList<Variable<Classifier,Parameter>>` `getParameterVariable()`
`Variable<Classifier,Parameter>` `getResultVariable()`
`void` `setBodyExpression(OCLExpression<Classifier> newBodyExpression)`
`void` `setContextVariable(Variable<Classifier,Parameter> newContextVariable)`
`void` `setResultVariable(Variable<Classifier,Parameter> newResultVariable)`

Methods inherited from class org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl
`basicGetBehavior, basicGetResult, getBehavior, getBodies, getLanguages, getResult, isIntegral, isNonNegative, isPositive, isSetBodies, isSetLanguages, setBehavior, stringValue, toString, unsetBodies, unsetLanguages, validateLanguageBodySize, validateOneReturnResultParameter, validateOnlyReturnResultParameters, value`

Methods inherited from class org.eclipse.uml2.uml.internal.impl.ValueSpecificationImpl
`basicGetType, booleanValue, getType, integerValue, isCompatibleWith, isComputable, isNull, setType, unlimitedValue`

Methods inherited from class org.eclipse.uml2.uml.internal.impl.PackageableElementImpl
`basicGetOwner, basicGetOwningTemplateParameter, basicGetTemplateParameter, basicSetOwningTemplateParameter, basicSetTemplateParameter, eBasicRemoveFromContainerFeature, eInverseAdd, getOwner, getOwningTemplateParameter, getTemplateParameter, getVisibility, isSetOwner, isSetVisibility, isTemplateParameter, setOwningTemplateParameter, setTemplateParameter, setVisibility`

Methods inherited from class org.eclipse.uml2.uml.internal.impl.NamedElementImpl

`allNamespaces, allOwningPackages, basicGetNameExpression, basicGetNamespace, basicGetNamespaceGen, basicSetNameExpression, createDependency, createNameExpression, createUsage, eObjectForURIFragmentSegment, eURIFragmentSegment, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getOwnedElements, getQualifiedName, isDistinguishableFrom, isSetName, isSetNamespace, isSetNamespaceGen, isSetOwnedElements, separator, setName, setNameExpression, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership`

Methods inherited from class org.eclipse.uml2.uml.internal.impl.ElementImpl

`addKeyword, allOwnedElements, applyStereotype, basicGetOwnerGen, create, createEAnnotation, createOwnedComment, destroy, eAdapters, eBasicSetContainer, eNotificationRequired, eNotify, eSetDeliver, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getCacheAdapter, getKeywords, getModel, getNearestPackage, getOwnedComments, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isSetOwnerGen, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf`

Methods inherited from class org.eclipse.emf.ecore.impl.EModelElementImpl
`freeze, freeze, getEAnnotation, getEAnnotations, isFrozen, setFrozen`

Methods inherited from class org.eclipse.emf.ecore.impl.FlatEObjectImpl
`eContents, eCrossReferences, eIsProxy, eProperties, eProxyURI, eSetProxyURI`

Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
`eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eSetClass`

Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`eAddVirtualValue, eAllContents, eBasicRemoveFromContainer, eComputeVirtualValuesCapacity, eContainer, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseRemove, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStore, eUnset, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.eclipse.uml2.uml.OpaqueExpression
`getBehavior, getBodies, getLanguages, getResult, isIntegral, isNonNegative, isPositive, isSetBodies, isSetLanguages, setBehavior, unsetBodies, unsetLanguages, validateLanguageBodySize, validateOneReturnResultParameter, validateOnlyReturnResultParameters, value`

Methods inherited from interface org.eclipse.uml2.uml.ValueSpecification
`booleanValue, integerValue, isComputable, isNull, stringValue, unlimitedValue`

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

Field Detail

### bodyExpression

    protected OCLExpression<Classifier> bodyExpression

  The cached value of the '`Body Expression`' containment reference.

  See Also:
    `getBodyExpression()`

### contextVariable

    protected Variable<Classifier,Parameter> contextVariable

  The cached value of the '`Context Variable`' containment reference.

  See Also:
    `getContextVariable()`

### resultVariable

    protected Variable<Classifier,Parameter> resultVariable

  The cached value of the '`Result Variable`' containment reference.

  See Also:
    `getResultVariable()`

### parameterVariable

    protected EList<Variable<Classifier,Parameter>> parameterVariable

  The cached value of the '`Parameter Variable`' containment reference list.

  See Also:
    `getParameterVariable()`

Constructor Detail

### ExpressionInOCLImpl

    protected ExpressionInOCLImpl()

Method Detail

### eStaticClass

    protected EClass eStaticClass()

  Overrides:
    `eStaticClass` in class `org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl`

### getBodyExpression

    public OCLExpression<Classifier> getBodyExpression()

  Specified by:
    `getBodyExpression` in interface `ExpressionInOCL<Classifier,Parameter>`
  Returns:
    the value of the 'Body Expression' containment reference.
  See Also:
    `ExpressionInOCL.setBodyExpression(OCLExpression)`, `UtilitiesPackage.getExpressionInOCL_BodyExpression()`

### basicSetBodyExpression

    public NotificationChain basicSetBodyExpression(OCLExpression<Classifier> newBodyExpression,
                                                    NotificationChain msgs)

### setBodyExpression

    public void setBodyExpression(OCLExpression<Classifier> newBodyExpression)

  Specified by:
    `setBodyExpression` in interface `ExpressionInOCL<Classifier,Parameter>`
  Parameters:
    `newBodyExpression` - the new value of the 'Body Expression' containment reference.
  See Also:
    `ExpressionInOCL.getBodyExpression()`

### getContextVariable

    public Variable<Classifier,Parameter> getContextVariable()

  Specified by:
    `getContextVariable` in interface `ExpressionInOCL<Classifier,Parameter>`
  Returns:
    the value of the 'Context Variable' containment reference.
  See Also:
    `ExpressionInOCL.setContextVariable(Variable)`, `UtilitiesPackage.getExpressionInOCL_ContextVariable()`

### basicSetContextVariable

    public NotificationChain basicSetContextVariable(Variable<Classifier,Parameter> newContextVariable,
                                                     NotificationChain msgs)

### setContextVariable

    public void setContextVariable(Variable<Classifier,Parameter> newContextVariable)

  Specified by:
    `setContextVariable` in interface `ExpressionInOCL<Classifier,Parameter>`
  Parameters:
    `newContextVariable` - the new value of the 'Context Variable' containment reference.
  See Also:
    `ExpressionInOCL.getContextVariable()`

### getResultVariable

    public Variable<Classifier,Parameter> getResultVariable()

  Specified by:
    `getResultVariable` in interface `ExpressionInOCL<Classifier,Parameter>`
  Returns:
    the value of the 'Result Variable' containment reference.
  See Also:
    `ExpressionInOCL.setResultVariable(Variable)`, `UtilitiesPackage.getExpressionInOCL_ResultVariable()`

### basicSetResultVariable

    public NotificationChain basicSetResultVariable(Variable<Classifier,Parameter> newResultVariable,
                                                    NotificationChain msgs)

### setResultVariable

    public void setResultVariable(Variable<Classifier,Parameter> newResultVariable)

  Specified by:
    `setResultVariable` in interface `ExpressionInOCL<Classifier,Parameter>`
  Parameters:
    `newResultVariable` - the new value of the 'Result Variable' containment reference.
  See Also:
    `ExpressionInOCL.getResultVariable()`

### getParameterVariable

    public EList<Variable<Classifier,Parameter>> getParameterVariable()

  Specified by:
    `getParameterVariable` in interface `ExpressionInOCL<Classifier,Parameter>`
  Returns:
    the value of the 'Parameter Variable' containment reference list.
  See Also:
    `UtilitiesPackage.getExpressionInOCL_ParameterVariable()`

### accept

    public <T,U extends Visitor<T,?,?,?,?,?,?,?,?,?>> T accept(U v)

  Specified by:
    `accept` in interface `Visitable`

### eInverseRemove

    public NotificationChain eInverseRemove(InternalEObject otherEnd,
                                            int featureID,
                                            NotificationChain msgs)

  Overrides:
    `eInverseRemove` in class `org.eclipse.uml2.uml.internal.impl.PackageableElementImpl`

### eGet

    public Object eGet(int featureID,
                       boolean resolve,
                       boolean coreType)

  Specified by:
    `eGet` in interface `InternalEObject`
  Overrides:
    `eGet` in class `org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl`

### eSet

    public void eSet(int featureID,
                     Object newValue)

  Specified by:
    `eSet` in interface `InternalEObject`
  Overrides:
    `eSet` in class `org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl`

### eUnset

    public void eUnset(int featureID)

  Specified by:
    `eUnset` in interface `InternalEObject`
  Overrides:
    `eUnset` in class `org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl`

### eIsSet

    public boolean eIsSet(int featureID)

  Specified by:
    `eIsSet` in interface `InternalEObject`
  Overrides:
    `eIsSet` in class `org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl`

### eBaseStructuralFeatureID

    public int eBaseStructuralFeatureID(int derivedFeatureID,
                                        Class<?> baseClass)

  Specified by:
    `eBaseStructuralFeatureID` in interface `InternalEObject`
  Overrides:
    `eBaseStructuralFeatureID` in class `org.eclipse.uml2.uml.internal.impl.ValueSpecificationImpl`

### eDerivedStructuralFeatureID

    public int eDerivedStructuralFeatureID(int baseFeatureID,
                                           Class<?> baseClass)

  Specified by:
    `eDerivedStructuralFeatureID` in interface `InternalEObject`
  Overrides:
    `eDerivedStructuralFeatureID` in class `org.eclipse.uml2.uml.internal.impl.ValueSpecificationImpl`

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