Package org.eclipse.emf.spi.cdo

## Interface InternalCDOTransaction

- All Superinterfaces:
    `CDOBranchPoint`, `CDOBranchProvider`, `CDOChangeSetDataProvider`, `CDOCommitHistory.Provider<CDOObject,​CDOObjectHistory>`, `CDOCommonTransaction`, `CDOCommonView`, `CDOIDProvider`, `CDORevisionProvider`, `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

  If the meaning of this type isn't clear, there really should be more of a description here...
  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 Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `InternalCDOTransaction.ApplyChangeSetResult` | If the meaning of this type isn't clear, there really should be more of a description here...
    `static class` | `InternalCDOTransaction.ChangeSetOutdatedException` | If the meaning of this type isn't clear, there really should be more of a description here...
    `static interface` | `InternalCDOTransaction.InternalCDOCommitContext` | Provides a context for a commit operation.

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.transaction.CDOTransaction

      `CDOTransaction.CommitResult<T>, CDOTransaction.Options`

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.view.CDOView

      `CDOView.Options`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

      `org.eclipse.net4j.util.container.IContainer.Modifiable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.Object>`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

      `org.eclipse.net4j.util.event.INotifier.INotifier2`

    - ### Nested 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_DATE`

    - ### Fields inherited from interface org.eclipse.emf.cdo.common.id.CDOIDProvider

      `NOOP`

    - ### Fields inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable

      `NO_TIMEOUT`

    - ### Fields inherited from interface org.eclipse.emf.cdo.view.CDOView

      `PROP_TIME_MACHINE_DISABLED`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InternalCDOTransaction.ApplyChangeSetResult` | `applyChangeSet​(CDOChangeSetData changeSetData, CDORevisionProvider targetBaseProvider, CDORevisionProvider targetProvider, CDOBranchPoint source, boolean keepVersions)` |

    `org.eclipse.net4j.util.collection.Pair<CDOChangeSetData,​org.eclipse.net4j.util.collection.Pair<java.util.Map<CDOID,​CDOID>,​java.util.List<CDOID>>>`

    `applyChangeSetData​(CDOChangeSetData changeSetData, CDORevisionProvider targetBaseProvider, CDORevisionProvider targetProvider, CDOBranchPoint source)`

    Deprecated.
    Use `applyChangeSet(CDOChangeSetData, CDORevisionProvider, CDORevisionProvider, CDOBranchPoint, boolean)`

    `InternalCDOTransaction.InternalCDOCommitContext` | `createCommitContext()` |
    `CDOID` | `createIDForNewObject​(org.eclipse.emf.ecore.EObject object)` |
    `void` | `detachObject​(InternalCDOObject object)` |
    `java.util.Map<InternalCDOObject,​InternalCDORevision>` | `getCleanRevisions()` |
    `CDOBranchPoint` | `getCommitMergeSource()` |
    `InternalCDOSession.CommitToken` | `getCommitToken()` |
    `InternalCDOSavepoint` | `getFirstSavepoint()` |
    `InternalCDOSavepoint` | `getLastSavepoint()` |
    `CDOIDTemp` | `getNextTemporaryID()` | Deprecated. `createIDForNewObject(EObject)` is called since 4.1.
    `CDOResourceFolder` | `getOrCreateResourceFolder​(java.util.List<java.lang.String> names)` |
    `CDOTransactionStrategy` | `getTransactionStrategy()` |
    `void` | `handleRollback​(InternalCDOSavepoint savepoint)` |
    `InternalCDOSavepoint` | `handleSetSavepoint()` |
    `boolean` | `hasMultipleSavepoints()` |
    `void` | `registerAttached​(InternalCDOObject object, boolean isNew)` |
    `void` | `registerDirty​(InternalCDOObject object, CDOFeatureDelta featureDelta)` |
    `void` | `registerDirty​(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision)` |
    `void` | `registerFeatureDelta​(InternalCDOObject object, CDOFeatureDelta featureDelta)` |
    `void` | `registerFeatureDelta​(InternalCDOObject object, CDOFeatureDelta featureDelta, InternalCDORevision cleanRevision)` |
    `void` | `registerRevisionDelta​(CDORevisionDelta revisionDelta)` |
    `void` | `removeConflict​(InternalCDOObject object)` |
    `void` | `setCommitMergeSource​(CDOBranchPoint mergeSource)` |
    `void` | `setConflict​(InternalCDOObject object)` |
    `void` | `setDirty​(boolean dirty)` |
    `InternalCDOSavepoint` | `setSavepoint()` | Creates a save point in the `CDOTransaction` that can be used to roll back a part of the transaction
    `void` | `setTransactionStrategy​(CDOTransactionStrategy transactionStrategy)` |

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint

      `getBranch, getTimeStamp`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.commit.CDOChangeSetDataProvider

      `getChangeSetData`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.commit.CDOCommitHistory.Provider

      `getHistory, getHistory`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.CDOCommonView

      `getDurableLockingID, getSessionID, getViewID, isDurableView, isHistorical, isReadOnly`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.id.CDOIDProvider

      `provideCDOID`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionProvider

      `getRevision`

    - ### Methods inherited from interface org.eclipse.emf.cdo.transaction.CDOTransaction

      `addTransactionHandler, commit, commit, commit, commit, commit, commit, createBinaryResource, createQuery, createQuery, createResource, createResourceFolder, createTextResource, exportChanges, getCommitComment, getCommittables, getConflicts, getDetachedObjects, getDirtyObjects, getLastCommitTime, getNewObjects, getOrCreateBinaryResource, getOrCreateResource, getOrCreateResourceFolder, getOrCreateTextResource, getRevisionDeltas, getTransactionHandlers, getTransactionHandlers1, getTransactionHandlers2, hasConflict, importChanges, isDirty, merge, merge, merge, merge, options, removeTransactionHandler, revertTo, setCommitComment, setCommittables`

    - ### Methods inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable

      `getLastUpdateTime, runAfterUpdate, waitForUpdate, waitForUpdate`

    - ### Methods inherited from interface org.eclipse.emf.cdo.transaction.CDOUserTransaction

      `commit, commit, rollback`

    - ### Methods inherited from interface org.eclipse.emf.cdo.view.CDOView

      `addObjectHandler, addRegistrationHandler, compareRevisions, createQuery, createQuery, createResourceURI, disableDurableLocking, enableDurableLocking, enableDurableLocking, getBinaryResource, getLockStates, getLockStatesOfObjects, getObject, getObject, getObject, getObjectHandlers, getObjects, getProvider, getRegistrationHandlers, getResource, getResource, getResourceFolder, getResourceNode, getResourceSet, getRootResource, getTextResource, getUnitManager, 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, syncExec, syncExec, unlockObjects, unlockObjects, unlockObjects`

    - ### Methods inherited from interface org.eclipse.net4j.util.collection.Closeable

      `close, isClosed`

    - ### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

      `getAdapter`

    - ### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

      `getElements, isEmpty`

    - ### Methods inherited from interface org.eclipse.net4j.util.concurrent.IExecutorServiceProvider

      `getExecutorService`

    - ### Methods inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `activate, deactivate, getLifecycleState, isActive`

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

    - ### Methods inherited from interface org.eclipse.emf.spi.cdo.InternalCDOView

      `attachResource, clearResourcePathCacheIfNecessary, collectViewedRevisions, convertIDToObject, convertObjectToID, convertObjectToID, deregisterObject, getFeatureAnalyzer, getLockOwner, getLockStates, getObjects, getObjectsList, getRepositoryName, getResourceNodeID, getRevision, getSession, getStore, getViewAndState, getViewMonitor, getViewSet, handleAddAdapter, handleLockNotification, handleObjectStateChanged, handleRemoveAdapter, hasSubscription, invalidate, invalidate, invalidate, inverseClose, isClosing, isObjectLocked, isObjectNew, lockView, prefetchRevisions, registerObject, registerProxyResource, remapObject, resourceLoaded, setFeatureAnalyzer, setLastUpdateTime, setProvider, setRepositoryName, setSession, setViewID, setViewSet, subscribe, toTransaction, unlockView, unsubscribe, updateLockStates, updateLockStates`

    - ### Methods inherited from interface org.eclipse.net4j.util.properties.IPropertiesContainer

      `properties`

- - ### Method Detail

    - #### createCommitContext

          InternalCDOTransaction.InternalCDOCommitContext createCommitContext()

    - #### getCommitToken

          InternalCDOSession.CommitToken getCommitToken()

      Since:
        4.5

    - #### getCommitMergeSource

          CDOBranchPoint getCommitMergeSource()

      Since:
        4.6

    - #### setCommitMergeSource

          void setCommitMergeSource​(CDOBranchPoint mergeSource)

      Since:
        4.6

    - #### hasMultipleSavepoints

          boolean hasMultipleSavepoints()

      Since:
        4.3

    - #### setSavepoint

          InternalCDOSavepoint setSavepoint()

      Description copied from interface: `CDOUserTransaction`
      Creates a save point in the `CDOTransaction` that can be used to roll back a part of the transaction

      Save points do not involve the server side, everything is done on the client side.

      Specified by:
        `setSavepoint` in interface `CDOTransaction`
      Specified by:
        `setSavepoint` in interface `CDOUserTransaction`
      Specified by:
        `setSavepoint` in interface `InternalCDOUserTransaction`
      Since:
        3.0

    - #### getFirstSavepoint

          InternalCDOSavepoint getFirstSavepoint()

      Specified by:
        `getFirstSavepoint` in interface `CDOTransaction`
      Since:
        4.1

    - #### getLastSavepoint

          InternalCDOSavepoint getLastSavepoint()

      Specified by:
        `getLastSavepoint` in interface `CDOTransaction`
      Specified by:
        `getLastSavepoint` in interface `CDOUserTransaction`
      Specified by:
        `getLastSavepoint` in interface `InternalCDOUserTransaction`
      Since:
        3.0

    - #### handleSetSavepoint

          InternalCDOSavepoint handleSetSavepoint()

      Since:
        3.0

    - #### handleRollback

          void handleRollback​(InternalCDOSavepoint savepoint)

      Since:
        3.0

    - #### getTransactionStrategy

          CDOTransactionStrategy getTransactionStrategy()

    - #### setTransactionStrategy

          void setTransactionStrategy​(CDOTransactionStrategy transactionStrategy)

    - #### getOrCreateResourceFolder

          CDOResourceFolder getOrCreateResourceFolder​(java.util.List<java.lang.String> names)

      Returns:
        never `null`;

    - #### detachObject

          void detachObject​(InternalCDOObject object)

    - #### getNextTemporaryID

          @Deprecated
          CDOIDTemp getNextTemporaryID()

      Deprecated.
      `createIDForNewObject(EObject)` is called since 4.1.

    - #### createIDForNewObject

          CDOID createIDForNewObject​(org.eclipse.emf.ecore.EObject object)

      Since:
        4.1

    - #### registerAttached

          void registerAttached​(InternalCDOObject object,
                                boolean isNew)

      Since:
        4.0

    - #### registerDirty

          void registerDirty​(InternalCDOObject object,
                             CDOFeatureDelta featureDelta)

    - #### registerDirty

          void registerDirty​(InternalCDOObject object,
                             CDOFeatureDelta featureDelta,
                             InternalCDORevision cleanRevision)

      Since:
        4.3

    - #### registerFeatureDelta

          void registerFeatureDelta​(InternalCDOObject object,
                                    CDOFeatureDelta featureDelta)

    - #### registerFeatureDelta

          void registerFeatureDelta​(InternalCDOObject object,
                                    CDOFeatureDelta featureDelta,
                                    InternalCDORevision cleanRevision)

      Since:
        4.3

    - #### registerRevisionDelta

          void registerRevisionDelta​(CDORevisionDelta revisionDelta)

    - #### setDirty

          void setDirty​(boolean dirty)

      Since:
        4.2

    - #### setConflict

          void setConflict​(InternalCDOObject object)

    - #### removeConflict

          void removeConflict​(InternalCDOObject object)

      Since:
        4.4

    - #### applyChangeSetData

          @Deprecated
          org.eclipse.net4j.util.collection.Pair<CDOChangeSetData,​org.eclipse.net4j.util.collection.Pair<java.util.Map<CDOID,​CDOID>,​java.util.List<CDOID>>> applyChangeSetData​(CDOChangeSetData changeSetData,
                                                                                                                                                                                                 CDORevisionProvider targetBaseProvider,
                                                                                                                                                                                                 CDORevisionProvider targetProvider,
                                                                                                                                                                                                 CDOBranchPoint source)

      Deprecated.
      Use `applyChangeSet(CDOChangeSetData, CDORevisionProvider, CDORevisionProvider, CDOBranchPoint, boolean)`
      Parameters:
        `source` - May be `null` if changeSetData does not result from a `merge` or if the merge was not in a `local` branch.
      Since:
        4.0

    - #### applyChangeSet

          InternalCDOTransaction.ApplyChangeSetResult applyChangeSet​(CDOChangeSetData changeSetData,
                                                                     CDORevisionProvider targetBaseProvider,
                                                                     CDORevisionProvider targetProvider,
                                                                     CDOBranchPoint source,
                                                                     boolean keepVersions)
                                                              throws InternalCDOTransaction.ChangeSetOutdatedException

      Parameters:
        `source` - May be `null` if changeSetData does not result from a `merge` or if the merge was not in a `local` branch.
      Throws:
        `InternalCDOTransaction.ChangeSetOutdatedException`
      Since:
        4.1

    - #### getCleanRevisions

          java.util.Map<InternalCDOObject,​InternalCDORevision> getCleanRevisions()

      Since:
        4.0