org.eclipse.emf.transaction.util
Class CompositeChangeDescription
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.CompositeChangeDescription
- All Implemented Interfaces:
- Notifier, ChangeDescription, EObject, InternalEObject, TransactionChangeDescription
public class CompositeChangeDescription
- extends ChangeDescriptionImpl
- implements TransactionChangeDescription
A composition of zero or more change descriptions representing the
changes performed by transactions in a possibly nested structure. In the
execution of a transaction, the changes that it makes in between nested
transactions and the changes made by those nested transactions are stored as
discrete ChangeDescription
s in a composite. The composite structure
is recursive.
Methods inherited from class org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl |
eGet, eInverseRemove, eIsSet, eSet, eStaticClass, eUnset, getContainedEObjects, getObjectsToDetachGen, getOldContainer, getOldContainmentFeature, getOldContainmentInformation, 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, eContainerAdapterArray, 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 |
Methods inherited from interface org.eclipse.emf.ecore.EObject |
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eIsProxy, eIsSet, eResource, eSet, eUnset |
CompositeChangeDescription
public CompositeChangeDescription()
isEmpty
public final boolean isEmpty()
- Queries whether I have no composed change descriptions.
- Specified by:
isEmpty
in interface TransactionChangeDescription
- Returns:
false
if I have any change descriptions;
true
, otherwise
clear
public final void clear()
- Removes any change descriptions that I may have.
canApply
public boolean canApply()
- I can apply myself if all of my composed changes can apply themselves.
- Specified by:
canApply
in interface TransactionChangeDescription
- Returns:
true
if my changes can be applied;
false
otherwise (i.e., they are not invertible)
apply
public void apply()
- Specified by:
apply
in interface ChangeDescription
- Overrides:
apply
in class ChangeDescriptionImpl
applyAndReverse
public void applyAndReverse()
- Specified by:
applyAndReverse
in interface ChangeDescription
- Overrides:
applyAndReverse
in class ChangeDescriptionImpl
add
public void add(ChangeDescription change)
- Adds a change description to me.
- Parameters:
change
- a new change description to add
getObjectChanges
public EMap<EObject,EList<FeatureChange>> getObjectChanges()
- My object changes are the concatenation of the changes in my composed
descriptions.
- Specified by:
getObjectChanges
in interface ChangeDescription
- Overrides:
getObjectChanges
in class ChangeDescriptionImpl
getObjectsToDetach
public EList<EObject> getObjectsToDetach()
- My objects to attach are the concatenation of the changes in my composed
descriptions.
- Specified by:
getObjectsToDetach
in interface ChangeDescription
- Overrides:
getObjectsToDetach
in class ChangeDescriptionImpl
getObjectsToAttach
public EList<EObject> getObjectsToAttach()
- My objects to detach are the concatenation of the changes in my composed
descriptions.
- Specified by:
getObjectsToAttach
in interface ChangeDescription
- Overrides:
getObjectsToAttach
in class ChangeDescriptionImpl
getResourceChanges
public EList<ResourceChange> getResourceChanges()
- My resource changes are the concatenation of the changes in my composed
descriptions.
- Specified by:
getResourceChanges
in interface ChangeDescription
- Overrides:
getResourceChanges
in class ChangeDescriptionImpl
toString
public String toString()
- Overrides:
toString
in class BasicEObjectImpl