## org.eclipse.emf.transaction.util
Class CommandChangeDescription

    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
                      org.eclipse.emf.transaction.util.CommandChangeDescription

All Implemented Interfaces:
  org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.change.ChangeDescription, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject, TransactionChangeDescription

    public class CommandChangeDescription

extends org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl
implements TransactionChangeDescription

A change description that simply wraps a `Command`, asking it to undo or redo when `applying`.

Note that this class is not intended to be used by clients. It is only needed by service providers extending this API.

Nested Class Summary

Nested classes/interfaces inherited from class org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl
`org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl.OldContainmentInformation`

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

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

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

Field Summary

Fields inherited from class org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl
`objectChanges, objectsToAttach, objectsToDetach, oldContainmentInformation, resourceChanges`

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
`CommandChangeDescription(org.eclipse.emf.common.command.Command command)` Initializes me with the command that I encapsulate.

Method Summary
`void` `apply()` I apply my change by undoing the encapsulated operation.
`void` `applyAndReverse()` I apply-and-reverse by alternately undoing and redoing the encapsulated operation.
`boolean` `canApply()` I can apply if my wrapped command can undo or redo, according to whether it was last undone or redone.
`org.eclipse.emf.common.command.Command` `chain(org.eclipse.emf.common.command.Command newCommand)` Chains a new command onto the command that I encapsulate, returning the chained result.
`void` `dispose()` Forgets my operation and clears my reference to the adaptable.
`boolean` `isEmpty()` I can only assume that the operation I wrap makes some kind of change.

Methods inherited from class org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl
`copyAndReverse, eGet, eInverseRemove, eIsSet, eSet, eStaticClass, eUnset, getContainedEObjects, getObjectChanges, getObjectsToAttach, getObjectsToDetach, getObjectsToDetachGen, getOldContainer, getOldContainmentFeature, getOldContainmentInformation, getResourceChanges, preApply`

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.change.ChangeDescription
`copyAndReverse, getObjectChanges, getObjectsToAttach, getObjectsToDetach, getResourceChanges`

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`

Constructor Detail

### CommandChangeDescription

    public CommandChangeDescription(org.eclipse.emf.common.command.Command command)

  Initializes me with the command that I encapsulate.

  Parameters:
    `command` - the command that I encapsulate

Method Detail

### chain

    public org.eclipse.emf.common.command.Command chain(org.eclipse.emf.common.command.Command newCommand)

  Chains a new command onto the command that I encapsulate, returning the chained result.

  Parameters:
    `newCommand` - a command to chain onto my command
  Returns:
    the new command chain

### canApply

    public boolean canApply()

  I can apply if my wrapped command can undo or redo, according to whether it was last undone or redone.

  Specified by:
    `canApply` in interface `TransactionChangeDescription`
  Returns:
    `true` if my command can undo/redo; `false`, otherwise
  See Also:
    `Command.canUndo()`, `ConditionalRedoCommand.canRedo()`

### apply

    public void apply()

  I apply my change by undoing the encapsulated operation. After it is undone, I dispose myself.

  Specified by:
    `apply` in interface `org.eclipse.emf.ecore.change.ChangeDescription`
  Overrides:
    `apply` in class `org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl`

### applyAndReverse

    public void applyAndReverse()

  I apply-and-reverse by alternately undoing and redoing the encapsulated operation.

  Specified by:
    `applyAndReverse` in interface `org.eclipse.emf.ecore.change.ChangeDescription`
  Overrides:
    `applyAndReverse` in class `org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl`

### isEmpty

    public boolean isEmpty()

  I can only assume that the operation I wrap makes some kind of change.

  Specified by:
    `isEmpty` in interface `TransactionChangeDescription`
  Returns:
    `false`, always

### dispose

    public void dispose()

  Forgets my operation and clears my reference to the adaptable.

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