org.eclipse.emf.transaction.util
Class CommandChangeDescription

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.BasicNotifierImpl
      extended by org.eclipse.emf.ecore.impl.BasicEObjectImpl
          extended by org.eclipse.emf.ecore.impl.EObjectImpl
              extended by org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl
                  extended by org.eclipse.emf.transaction.util.CommandChangeDescription
All Implemented Interfaces:
Notifier, ChangeDescription, EObject, InternalEObject, TransactionChangeDescription

public class CommandChangeDescription
extends 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
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 Object & Adapter>
 
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject
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(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.
 Command chain(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
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, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI
 
Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, 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, eInverseAdd, eInverseRemove, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, 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
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
getObjectChanges, getObjectsToAttach, getObjectsToDetach, getResourceChanges
 
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.emf.ecore.InternalEObject
eNotificationRequired
 

Constructor Detail

CommandChangeDescription

public CommandChangeDescription(Command command)
Initializes me with the command that I encapsulate.

Parameters:
command - the command that I encapsulate
Method Detail

chain

public Command chain(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 ChangeDescription
Overrides:
apply in class ChangeDescriptionImpl

applyAndReverse

public void applyAndReverse()
I apply-and-reverse by alternately undoing and redoing the encapsulated operation.

Specified by:
applyAndReverse in interface ChangeDescription
Overrides:
applyAndReverse in class 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.