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

    java.lang.Object
      org.eclipse.emf.common.notify.impl.BasicNotifierImpl
          org.eclipse.emf.ecore.impl.BasicEObjectImpl
              org.eclipse.emf.ecore.impl.MinimalEObjectImpl
                  org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
                      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.TypedElementImpl
                                      org.eclipse.ocl.uml.impl.OCLExpressionImpl
                                          org.eclipse.ocl.uml.impl.LetExpImpl

All Implemented Interfaces:
  Notifier, EModelElement, EObject, EStructuralFeature.Internal.DynamicValueHolder, InternalEObject, LetExp<Classifier,Parameter>, OCLExpression<Classifier>, ASTNode, Visitable, Element, NamedElement, TypedElement

    public class LetExpImpl

extends OCLExpressionImpl
implements LetExp

An implementation of the model object 'Let Exp'.

The following features are implemented:

- `In`
- `Variable`

Nested Class Summary

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
`MinimalEObjectImpl.Container.Dynamic`

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl
`MinimalEObjectImpl.Container`

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>` `in` The cached value of the '`In`' containment reference
`protected Variable<Classifier,Parameter>` `variable` The cached value of the '`Variable`' containment reference

Fields inherited from class org.eclipse.ocl.uml.impl.OCLExpressionImpl
`END_POSITION_EDEFAULT, endPosition, START_POSITION_EDEFAULT, startPosition`

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

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, eFlags, EFROZEN, ELAST_EMODEL_ELEMENT_FLAG`

Fields inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
`eContainer`

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.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder
`NIL`

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

Constructor Summary
`protected` `LetExpImpl()`

Method Summary

`

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

`

`accept(U v)`

`NotificationChain` `basicSetIn(OCLExpression<Classifier> newIn, NotificationChain msgs)`
`NotificationChain` `basicSetVariable(Variable<Classifier,Parameter> newVariable, NotificationChain msgs)`
`boolean` `checkLetType(DiagnosticChain diagnostics, Map<Object,Object> context)`
`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>` `getIn()`
`Variable<Classifier,Parameter>` `getVariable()`
`void` `setIn(OCLExpression<Classifier> newIn)`
`void` `setVariable(Variable<Classifier,Parameter> newVariable)`

Methods inherited from class org.eclipse.ocl.uml.impl.OCLExpressionImpl
`getEndPosition, getStartPosition, getType, setEndPosition, setStartPosition, setType, toString`

Methods inherited from class org.eclipse.uml2.uml.internal.impl.TypedElementImpl
`basicGetType, setType`

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

`allNamespaces, allOwningPackages, basicGetNameExpression, basicGetNamespace, basicGetNamespaceGen, basicGetOwner, basicSetNameExpression, createDependency, createNameExpression, createUsage, eInverseAdd, eObjectForURIFragmentSegment, eURIFragmentSegment, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getOwnedElements, getOwner, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetNamespace, isSetNamespaceGen, isSetOwnedElements, isSetOwner, isSetVisibility, separator, setName, setNameExpression, setVisibility, 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
`eSetDirectResource, freeze, freeze, getEAnnotation, getEAnnotations, isFrozen, setFrozen`

Methods inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
`eBasicSetContainer, eInternalContainer`

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

`dynamicGet, dynamicSet, dynamicUnset, eBasicAdapterArray, eBasicAdapters, eBasicHasAdapters, eBasicProperties, eBasicSetAdapterArray, eBasicSetContainer, eBasicSetContainerFeatureID, eBasicSetSettings, eBasicSettings, eClass, eContainerFeatureID, eContents, eCrossReferences, eDeliver, eDirectResource, eDynamicClass, eHasSettings, eIsProxy, eProperties, eProxyURI, eSetClass, eSetProxyURI, eSettings`

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

`eAddVirtualValue, eAllContents, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eDerivedStructuralFeatureID, eDynamicBasicRemoveFromContainer, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eInternalResource, eInverseAdd, eInverseRemove, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetResource, eSetStore, eSetting, eSettingDelegate, 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.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.ocl.utilities.TypedElement
`getName, getType, setName, setType`

Methods inherited from interface org.eclipse.ocl.utilities.ASTNode
`getEndPosition, getStartPosition, setEndPosition, setStartPosition`

Methods inherited from interface org.eclipse.ocl.utilities.TypedElement
`getName, getType, setName, setType`

Methods inherited from interface org.eclipse.ocl.utilities.ASTNode
`getEndPosition, getStartPosition, setEndPosition, setStartPosition`

Field Detail

### in

    protected OCLExpression<Classifier> in

  The cached value of the '`In`' containment reference.

  See Also:
    `getIn()`

### variable

    protected Variable<Classifier,Parameter> variable

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

  See Also:
    `getVariable()`

Constructor Detail

### LetExpImpl

    protected LetExpImpl()

Method Detail

### eStaticClass

    protected EClass eStaticClass()

  Overrides:
    `eStaticClass` in class `OCLExpressionImpl`

### getIn

    public OCLExpression<Classifier> getIn()

  Specified by:
    `getIn` in interface `LetExp<Classifier,Parameter>`
  Returns:
    the value of the 'In' containment reference.
  See Also:
    `LetExp.setIn(OCLExpression)`, `ExpressionsPackage.getLetExp_In()`

### basicSetIn

    public NotificationChain basicSetIn(OCLExpression<Classifier> newIn,
                                        NotificationChain msgs)

### setIn

    public void setIn(OCLExpression<Classifier> newIn)

  Specified by:
    `setIn` in interface `LetExp<Classifier,Parameter>`
  Parameters:
    `newIn` - the new value of the 'In' containment reference.
  See Also:
    `LetExp.getIn()`

### getVariable

    public Variable<Classifier,Parameter> getVariable()

  Specified by:
    `getVariable` in interface `LetExp<Classifier,Parameter>`
  Returns:
    the value of the 'Variable' containment reference.
  See Also:
    `LetExp.setVariable(Variable)`, `ExpressionsPackage.getLetExp_Variable()`

### basicSetVariable

    public NotificationChain basicSetVariable(Variable<Classifier,Parameter> newVariable,
                                              NotificationChain msgs)

### setVariable

    public void setVariable(Variable<Classifier,Parameter> newVariable)

  Specified by:
    `setVariable` in interface `LetExp<Classifier,Parameter>`
  Parameters:
    `newVariable` - the new value of the 'Variable' containment reference.
  See Also:
    `LetExp.getVariable()`

### checkLetType

    public boolean checkLetType(DiagnosticChain diagnostics,
                                Map<Object,Object> context)

  Specified by:
    `checkLetType` in interface `LetExp<Classifier,Parameter>`
  Parameters:
    `diagnostics` - The chain of diagnostics to which problems are to be appended.
    `context` - The cache of context-specific information.

### eInverseRemove

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

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

### eGet

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

  Specified by:
    `eGet` in interface `InternalEObject`
  Overrides:
    `eGet` in class `OCLExpressionImpl`

### eSet

    public void eSet(int featureID,
                     Object newValue)

  Specified by:
    `eSet` in interface `InternalEObject`
  Overrides:
    `eSet` in class `OCLExpressionImpl`

### eUnset

    public void eUnset(int featureID)

  Specified by:
    `eUnset` in interface `InternalEObject`
  Overrides:
    `eUnset` in class `OCLExpressionImpl`

### eIsSet

    public boolean eIsSet(int featureID)

  Specified by:
    `eIsSet` in interface `InternalEObject`
  Overrides:
    `eIsSet` in class `OCLExpressionImpl`

### eBaseStructuralFeatureID

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

  Specified by:
    `eBaseStructuralFeatureID` in interface `InternalEObject`
  Overrides:
    `eBaseStructuralFeatureID` in class `OCLExpressionImpl`

### eDerivedStructuralFeatureID

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

  Specified by:
    `eDerivedStructuralFeatureID` in interface `InternalEObject`
  Overrides:
    `eDerivedStructuralFeatureID` in class `OCLExpressionImpl`

### accept

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

  Specified by:
    `accept` in interface `Visitable`
  Overrides:
    `accept` in class `OCLExpressionImpl`

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