Package org.eclipse.emf.spi.cdo
Interface InternalCDOTransaction
- All Superinterfaces:
AutoCloseable,CDOBranchPoint,CDOBranchProvider,CDOChangeSetDataProvider,CDOCommitHistory.Provider<CDOObject,,CDOObjectHistory> CDOCommonTransaction,CDOCommonView,CDOIDProvider,CDOLobLoader,CDORevisionProvider,CDORollbackable,CDOTimeProvider,CDOTransaction,CDOUpdatable,CDOUserTransaction,CDOView,org.eclipse.net4j.util.collection.Closeable,IAdaptable,org.eclipse.net4j.util.container.IContainer<CDOResourceNode>,org.eclipse.net4j.util.lifecycle.IDeactivateable,org.eclipse.net4j.util.concurrent.IExecutorServiceProvider,org.eclipse.net4j.util.lifecycle.ILifecycle,org.eclipse.net4j.util.event.INotifier,InternalCDOUserTransaction,InternalCDOView,org.eclipse.net4j.util.options.IOptionsContainer,org.eclipse.net4j.util.properties.IPropertiesContainer
public interface InternalCDOTransaction
extends CDOTransaction, InternalCDOUserTransaction, InternalCDOView
Internal transaction contract that connects the public transaction API to a CDO view and the transaction strategy.
It tracks clean revisions and local deltas, builds commit contexts, applies change sets, and maintains savepoint and
conflict state needed to reconcile the local model with repository commits.
- Since:
- 2.0
- Author:
- Simon McDuff
- No Implement
- This interface is not intended to be implemented by clients.
- No Extend
- This interface is not intended to be extended by clients.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classSummarizes the effects of applying a goal change set to a transaction, including the normalized change set, any ID remappings, and the objects whose references had to be adjusted.static final classSignals that a change set can no longer be applied against the target revision state used to define it.static interfaceProvides a context for a commit operation.Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOTransaction
CDOTransaction.CommitResult<T>, CDOTransaction.OptionsNested classes/interfaces inherited from interface org.eclipse.emf.cdo.view.CDOView
CDOView.OptionsNested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
org.eclipse.net4j.util.container.IContainer.Modifiable<E>, org.eclipse.net4j.util.container.IContainer.Persistable<E>, org.eclipse.net4j.util.container.IContainer.Persistence<E>Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivationNested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2Nested classes/interfaces inherited from interface org.eclipse.emf.spi.cdo.InternalCDOView
InternalCDOView.ViewAndState, InternalCDOView.ViewInvalidationData -
Field Summary
Fields inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint
INVALID_DATE, UNSPECIFIED_DATEFields inherited from interface org.eclipse.emf.cdo.common.id.CDOIDProvider
NOOPFields inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable
NO_TIMEOUTFields inherited from interface org.eclipse.emf.cdo.view.CDOView
PROP_LIFECYCLE_EXCEPTION_HANDLER, PROP_TIME_MACHINE_DISABLED -
Method Summary
Modifier and TypeMethodDescriptionapplyChangeSet(CDOChangeSetData changeSetData, CDORevisionProvider resultBaseProvider, CDORevisionProvider targetProvider, CDOBranchPoint source, boolean keepVersions) Applies a goal change set whose NEW, CHANGED, and DETACHED classifications are defined relative toresultBaseProvider.org.eclipse.net4j.util.collection.Pair<CDOChangeSetData, org.eclipse.net4j.util.collection.Pair<Map<CDOID, CDOID>, List<CDOID>>> applyChangeSetData(CDOChangeSetData changeSetData, CDORevisionProvider resultBaseProvider, CDORevisionProvider targetProvider, CDOBranchPoint source) Deprecated.createIDForNewObject(EObject object) voiddetachObject(InternalCDOObject object) Returns the same live clean-revisions map asgetCleanRevisions()without acquiring the transaction/view lock.Returns the most recently created savepoint.Returns the ID from the most recent lifecycle before-image reachable through the active savepoint chain, ornullif no such transition was captured.Returns a copy of the revision from the most recent lifecycle before-image reachable through the active savepoint chain, ornullif no revision was captured.Deprecated.createIDForNewObject(EObject)is called since 4.1.getOrCreateResourceFolder(List<String> names) voidhandleRollback(InternalCDOSavepoint savepoint) booleanvoidregisterAttached(InternalCDOObject object, boolean isNew) voidregisterDirty(InternalCDOObject object, CDOFeatureDelta featureDelta) voidregisterDirty(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision) voidregisterFeatureDelta(InternalCDOObject object, CDOFeatureDelta featureDelta) voidregisterFeatureDelta(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision) voidregisterFeatureDeltaUnsynced(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision) Registers a feature delta without acquiring the transaction/view lock.voidregisterRevisionDelta(CDORevisionDelta revisionDelta) voidremoveConflict(InternalCDOObject object) voidrollbackToSavepoint(InternalCDOUserSavepoint savepoint) Restores this transaction to a retained public savepoint without reporting that the root transaction itself has been rolled back.voidsetCommitMergeSource(CDOBranchPoint mergeSource) voidsetCommitProperties(Map<String, String> properties) voidsetConflict(InternalCDOObject object) voidsetDirty(boolean dirty) Creates a save point in theCDOTransactionthat can be used to roll back a part of the transactionvoidsetTransactionStrategy(CDOTransactionStrategy transactionStrategy) Methods inherited from interface java.lang.AutoCloseable
closeMethods inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint
getBranch, getTimeStampMethods inherited from interface org.eclipse.emf.cdo.common.commit.CDOChangeSetDataProvider
getChangeSetDataMethods inherited from interface org.eclipse.emf.cdo.common.commit.CDOCommitHistory.Provider
getHistory, getHistoryMethods inherited from interface org.eclipse.emf.cdo.common.CDOCommonView
getDurableLockingID, getSessionID, getViewID, isDurableView, isHistorical, isReadOnlyMethods inherited from interface org.eclipse.emf.cdo.common.id.CDOIDProvider
provideCDOIDMethods inherited from interface org.eclipse.emf.cdo.common.lob.CDOLobLoader
loadLobMethods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionProvider
getRevisionMethods inherited from interface org.eclipse.emf.cdo.transaction.CDOTransaction
addTransactionHandler, commit, commit, commit, commit, commit, commit, commitAndClose, createBinaryResource, createQuery, createQuery, createResource, createResourceFolder, createTextResource, exportChanges, getCommitComment, getCommitProperty, getCommittables, getConflicts, getDetachedObjects, getDirtyObjects, getInnermostScope, getLastCommitTime, getNewObjects, getOrCreateBinaryResource, getOrCreateResource, getOrCreateResourceFolder, getOrCreateTextResource, getOutermostScope, getRevisionDeltas, getScopes, getTransactionHandlers, getTransactionHandlers1, getTransactionHandlers2, hasConflict, importChanges, isDirty, merge, merge, merge, merge, openScope, options, removeTransactionHandler, revertTo, setCommitComment, setCommitProperty, setCommittablesMethods inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable
getLastUpdateTime, runAfterUpdate, waitForUpdate, waitForUpdateMethods inherited from interface org.eclipse.emf.cdo.transaction.CDOUserTransaction
commit, commit, rollbackMethods inherited from interface org.eclipse.emf.cdo.view.CDOView
addObjectHandler, addRegistrationHandler, compareRevisions, createQuery, createQuery, createResourceURI, disableDurableLocking, enableDurableLocking, enableDurableLocking, getBinaryResource, getLockStates, getLockStates, getLockStatesOfObjects, getObject, getObject, getObject, getObjectHandlers, getObjects, getProvider, getRegistrationHandlers, getResource, getResource, getResourceFolder, getResourceNode, getResourceSet, getRootResource, getTextResource, getUnitManager, getURI, getURIHandler, getViewLock, hasResource, isInvalidating, isInvalidationRunnerActive, isLegacyModeEnabled, isObjectRegistered, lockObjects, lockObjects, queryInstances, queryInstancesAsync, queryInstancesAsync, queryResources, queryResourcesAsync, queryXRefs, queryXRefs, queryXRefsAsync, refreshLockStates, reload, removeObjectHandler, removeRegistrationHandler, setBranch, setBranch, setBranchPoint, setBranchPoint, setBranchPoint, setBranchPoint, setResourcePathCache, setTimeStamp, setTimeStamp, sync, syncExec, syncExec, unlockObjects, unlockObjects, unlockObjectsMethods inherited from interface org.eclipse.net4j.util.collection.Closeable
close, isClosedMethods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapterMethods inherited from interface org.eclipse.net4j.util.container.IContainer
getElements, isEmptyMethods inherited from interface org.eclipse.net4j.util.concurrent.IExecutorServiceProvider
getExecutorServiceMethods inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
activate, deactivate, getLifecycleState, isActiveMethods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListenerMethods inherited from interface org.eclipse.emf.spi.cdo.InternalCDOView
access, attachResource, clearResourcePathCacheIfNecessary, clearResourcePathCacheIfNecessaryUnsynced, collectViewedRevisions, convertIDToObject, convertIDToObjectUnsynced, convertObjectToID, convertObjectToID, convertObjectToIDUnsynced, deregisterObject, getFeatureAnalyzer, getLockOwner, getObjects, getObjectsList, getRepositoryName, getResourceNodeID, getRevision, getSession, getStore, getViewAndState, getViewMonitor, getViewSet, handleAddAdapter, handleLockNotification, handleObjectStateChanged, handleRemoveAdapter, hasSubscription, invalidate, invalidate, invalidate, inverseClose, isClosing, isObjectDetached, isObjectDirty, isObjectLocked, isObjectNew, lockView, prefetchRevisions, registerObject, registerProxyResource, remapObject, resourceLoaded, setFeatureAnalyzer, setLastUpdateTime, setProvider, setRepositoryName, setSession, setViewID, setViewSet, subscribe, toTransaction, unlockView, unsubscribe, updateLockStatesMethods inherited from interface org.eclipse.net4j.util.properties.IPropertiesContainer
properties
-
Method Details
-
createCommitContext
InternalCDOTransaction.InternalCDOCommitContext createCommitContext() -
getCommitToken
InternalCDOSession.CommitToken getCommitToken()- Since:
- 4.5
-
getCommitProperties
- Since:
- 4.25
-
setCommitProperties
- Since:
- 4.25
-
getCommitMergeSource
CDOBranchPoint getCommitMergeSource()- Since:
- 4.6
-
setCommitMergeSource
- Since:
- 4.6
-
hasMultipleSavepoints
boolean hasMultipleSavepoints()- Since:
- 4.3
-
setSavepoint
InternalCDOSavepoint setSavepoint()Description copied from interface:CDOUserTransactionCreates a save point in theCDOTransactionthat can be used to roll back a part of the transactionSave points do not involve the server side, everything is done on the client side.
- Specified by:
setSavepointin interfaceCDOTransaction- Specified by:
setSavepointin interfaceCDOUserTransaction- Specified by:
setSavepointin interfaceInternalCDOUserTransaction- Since:
- 3.0
-
getFirstSavepoint
InternalCDOSavepoint getFirstSavepoint()- Specified by:
getFirstSavepointin interfaceCDOTransaction- Since:
- 4.1
-
getLastSavepoint
InternalCDOSavepoint getLastSavepoint()Description copied from interface:CDOUserTransactionReturns the most recently created savepoint.- Specified by:
getLastSavepointin interfaceCDOTransaction- Specified by:
getLastSavepointin interfaceCDOUserTransaction- Specified by:
getLastSavepointin interfaceInternalCDOUserTransaction- Returns:
- the last savepoint, or
nullif none exists. - Since:
- 3.0
-
handleSetSavepoint
InternalCDOSavepoint handleSetSavepoint()- Since:
- 3.0
-
handleRollback
- Since:
- 3.0
-
rollbackToSavepoint
Restores this transaction to a retained public savepoint without reporting that the root transaction itself has been rolled back. The transaction strategy remains responsible for strategy-specific restore behavior.- Since:
- 4.30
-
getTransactionStrategy
CDOTransactionStrategy getTransactionStrategy() -
setTransactionStrategy
-
getOrCreateResourceFolder
- Returns:
- never
null;
-
detachObject
-
getLifecycleBeforeImageID
Returns the ID from the most recent lifecycle before-image reachable through the active savepoint chain, ornullif no such transition was captured.- Since:
- 4.30
-
getLifecycleBeforeImageRevision
Returns a copy of the revision from the most recent lifecycle before-image reachable through the active savepoint chain, ornullif no revision was captured.- Since:
- 4.30
-
createIDForNewObject
- Since:
- 4.1
-
registerAttached
- Since:
- 4.0
-
registerDirty
-
registerDirty
void registerDirty(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision) - Since:
- 4.3
-
registerFeatureDelta
-
registerFeatureDeltaUnsynced
void registerFeatureDeltaUnsynced(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision) Registers a feature delta without acquiring the transaction/view lock. The caller must already hold the owning transaction/view lock. This method is intended for internal call paths already inside that synchronization boundary, and has the same registration and callback semantics asregisterFeatureDelta(InternalCDOObject, CDOFeatureDelta, InternalCDORevision).- Since:
- 4.31
- See Also:
-
registerFeatureDelta
void registerFeatureDelta(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision) - Since:
- 4.3
-
registerRevisionDelta
-
setDirty
void setDirty(boolean dirty) - Since:
- 4.2
-
setConflict
-
removeConflict
- Since:
- 4.4
-
applyChangeSet
InternalCDOTransaction.ApplyChangeSetResult applyChangeSet(CDOChangeSetData changeSetData, CDORevisionProvider resultBaseProvider, CDORevisionProvider targetProvider, CDOBranchPoint source, boolean keepVersions) throws InternalCDOTransaction.ChangeSetOutdatedException Applies a goal change set whose NEW, CHANGED, and DETACHED classifications are defined relative toresultBaseProvider. The returned change set describes the changes actually made relative to the current transaction target. Implementations may normalize local IDs and delta metadata inchangeSetDatain place.- Parameters:
changeSetData- the goal change set relative toresultBaseProvider.resultBaseProvider- the revision state against whichchangeSetDatais defined.targetProvider- the current target revision state used to reconcile the goal.source- May benullif changeSetData does not result from amergeor if the merge was not in alocalbranch.keepVersions- whether target reconciliation must preserve and validate revision versions.- Throws:
InternalCDOTransaction.ChangeSetOutdatedException- Since:
- 4.1
-
getCleanRevisions
Map<InternalCDOObject,InternalCDORevision> getCleanRevisions()- Since:
- 4.0
-
getCleanRevisionsUnsynced
Map<InternalCDOObject,InternalCDORevision> getCleanRevisionsUnsynced()Returns the same live clean-revisions map asgetCleanRevisions()without acquiring the transaction/view lock. The caller must already hold the owning transaction/view lock. This method is intended for internal call paths already inside that synchronization boundary.- Since:
- 4.31
- See Also:
-
getNextTemporaryID
Deprecated.createIDForNewObject(EObject)is called since 4.1. -
applyChangeSetData
@Deprecated org.eclipse.net4j.util.collection.Pair<CDOChangeSetData,org.eclipse.net4j.util.collection.Pair<Map<CDOID, applyChangeSetDataCDOID>, List<CDOID>>> (CDOChangeSetData changeSetData, CDORevisionProvider resultBaseProvider, CDORevisionProvider targetProvider, CDOBranchPoint source) Deprecated.
-
applyChangeSet(CDOChangeSetData, CDORevisionProvider, CDORevisionProvider, CDOBranchPoint, boolean)