## org.eclipse.emf.ecore.change.impl
Class ChangeDescriptionImpl

    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.change.impl.ChangeDescriptionImpl

All Implemented Interfaces:
  Notifier, ChangeDescription, EObject, InternalEObject

    public class ChangeDescriptionImpl

extends EObjectImpl
implements ChangeDescription

An implementation of the model object 'Description'.

The following features are implemented:

- `Object Changes`
- `Objects To Detach`
- `Objects To Attach`
- `Resource Changes`

Nested Class Summary
`protected static class` `ChangeDescriptionImpl.OldContainmentInformation`

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 java.lang.Object & Adapter>`

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

Field Summary
`protected EMap<EObject,EList<FeatureChange>>` `objectChanges` The cached value of the '`Object Changes`' map
`protected EList<EObject>` `objectsToAttach` The cached value of the '`Objects To Attach`' containment reference list
`protected EList<EObject>` `objectsToDetach` The cached value of the '`Objects To Detach`' reference list
`protected java.util.Map<EObject,ChangeDescriptionImpl.OldContainmentInformation>` `oldContainmentInformation`
`protected EList<ResourceChange>` `resourceChanges` The cached value of the '`Resource Changes`' containment reference list

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.emf.ecore.InternalEObject
`EOPPOSITE_FEATURE_BASE`

Constructor Summary
`protected` `ChangeDescriptionImpl()`

Method Summary
`void` `apply()`
`void` `applyAndReverse()`
`java.lang.Object` `eGet(int featureID, boolean resolve, boolean coreType)`
`NotificationChain` `eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)`
`boolean` `eIsSet(int featureID)`
`void` `eSet(int featureID, java.lang.Object newValue)`
`protected EClass` `eStaticClass()`
`void` `eUnset(int featureID)`
`protected static java.util.List<EObject>` `getContainedEObjects(java.util.List<FeatureMap.Entry> featureMapEntries)`
`EMap<EObject,EList<FeatureChange>>` `getObjectChanges()`
`EList<EObject>` `getObjectsToAttach()`
`EList<EObject>` `getObjectsToDetach()` Returns the value of the 'Objects To Detach' reference list.
`EList<EObject>` `getObjectsToDetachGen()`
`EObject` `getOldContainer(EObject eObject)`
`EReference` `getOldContainmentFeature(EObject eObject)`
`protected java.util.Map<EObject,ChangeDescriptionImpl.OldContainmentInformation>` `getOldContainmentInformation()`
`EList<ResourceChange>` `getResourceChanges()`
`protected void` `preApply(boolean reverse)`

Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
`eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eInvoke, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI`

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

`eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicInvoke, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseAdd, eInverseRemove, eInvocationDelegate, eInvoke, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStaticOperationCount, eStore, eUnset, eURIFragmentSegment, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues, toString`

Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
`eBasicAdapterArray, eBasicHasAdapters, eNotificationRequired, eNotify`

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

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.emf.ecore.InternalEObject
`eNotificationRequired`

Field Detail

### objectChanges

    protected EMap<EObject,EList<FeatureChange>> objectChanges

  The cached value of the '`Object Changes`' map.

  See Also:
    `getObjectChanges()`

### objectsToDetach

    protected EList<EObject> objectsToDetach

  The cached value of the '`Objects To Detach`' reference list. The Objects to Detach list is first calculated when the `getObjectsToDetach()` method is invoked and reset when new changes are described.

  See Also:
    `getObjectsToDetach()`

### objectsToAttach

    protected EList<EObject> objectsToAttach

  The cached value of the '`Objects To Attach`' containment reference list.

  See Also:
    `getObjectsToAttach()`

### resourceChanges

    protected EList<ResourceChange> resourceChanges

  The cached value of the '`Resource Changes`' containment reference list.

  See Also:
    `getResourceChanges()`

### oldContainmentInformation

    protected java.util.Map<EObject,ChangeDescriptionImpl.OldContainmentInformation> oldContainmentInformation

Constructor Detail

### ChangeDescriptionImpl

    protected ChangeDescriptionImpl()

Method Detail

### eStaticClass

    protected EClass eStaticClass()

  Overrides:
    `eStaticClass` in class `EObjectImpl`

### getObjectChanges

    public EMap<EObject,EList<FeatureChange>> getObjectChanges()

  Specified by:
    `getObjectChanges` in interface `ChangeDescription`
  Returns:
    the value of the 'Object Changes' map.
  See Also:
    `ChangePackage.getChangeDescription_ObjectChanges()`

### getObjectsToDetachGen

    public EList<EObject> getObjectsToDetachGen()

### getContainedEObjects

    protected static java.util.List<EObject> getContainedEObjects(java.util.List<FeatureMap.Entry> featureMapEntries)

### getObjectsToDetach

    public EList<EObject> getObjectsToDetach()

  Description copied from interface: `ChangeDescription`
  Returns the value of the 'Objects To Detach' reference list. The list contents are of type `EObject`.

  Returns the list of objects that will be detached when this Change Description is applied. The list is calculated every time this method is called.

  Specified by:
    `getObjectsToDetach` in interface `ChangeDescription`
  Returns:
    the value of the 'Objects To Detach' reference list.
  See Also:
    `ChangePackage.getChangeDescription_ObjectsToDetach()`

### getObjectsToAttach

    public EList<EObject> getObjectsToAttach()

  Specified by:
    `getObjectsToAttach` in interface `ChangeDescription`
  Returns:
    the value of the 'Objects To Attach' containment reference list.
  See Also:
    `ChangePackage.getChangeDescription_ObjectsToAttach()`

### getResourceChanges

    public EList<ResourceChange> getResourceChanges()

  Specified by:
    `getResourceChanges` in interface `ChangeDescription`
  Returns:
    the value of the 'Resource Changes' containment reference list.
  See Also:
    `ChangePackage.getChangeDescription_ResourceChanges()`

### apply

    public void apply()

  Specified by:
    `apply` in interface `ChangeDescription`

### applyAndReverse

    public void applyAndReverse()

  Specified by:
    `applyAndReverse` in interface `ChangeDescription`

### eInverseRemove

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

  Overrides:
    `eInverseRemove` in class `BasicEObjectImpl`

### preApply

    protected void preApply(boolean reverse)

### getOldContainmentInformation

    protected java.util.Map<EObject,ChangeDescriptionImpl.OldContainmentInformation> getOldContainmentInformation()

### getOldContainer

    public EObject getOldContainer(EObject eObject)

### getOldContainmentFeature

    public EReference getOldContainmentFeature(EObject eObject)

### eGet

    public java.lang.Object eGet(int featureID,
                                 boolean resolve,
                                 boolean coreType)

  Specified by:
    `eGet` in interface `InternalEObject`
  Overrides:
    `eGet` in class `BasicEObjectImpl`
  See Also:
    `InternalEObject.eGet(EStructuralFeature, boolean, boolean)`

### eSet

    public void eSet(int featureID,
                     java.lang.Object newValue)

  Specified by:
    `eSet` in interface `InternalEObject`
  Overrides:
    `eSet` in class `BasicEObjectImpl`
  See Also:
    `EObject.eSet(EStructuralFeature, Object)`

### eUnset

    public void eUnset(int featureID)

  Specified by:
    `eUnset` in interface `InternalEObject`
  Overrides:
    `eUnset` in class `BasicEObjectImpl`
  See Also:
    `EObject.eUnset(EStructuralFeature)`

### eIsSet

    public boolean eIsSet(int featureID)

  Specified by:
    `eIsSet` in interface `InternalEObject`
  Overrides:
    `eIsSet` in class `BasicEObjectImpl`
  See Also:
    `EObject.eIsSet(EStructuralFeature)`

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.