Package org.eclipse.emf.cdo.server

## Interface IStoreAccessor.CommitContext

- All Superinterfaces:
    `CDORevisionProvider`
  All Known Subinterfaces:
    `InternalCommitContext`
  Enclosing interface:
    IStoreAccessor

      public static interface IStoreAccessor.CommitContext
      extends CDORevisionProvider

  Represents the state of a single, logical commit operation which is driven through multiple calls to several methods on the `IStoreAccessor` API. All these method calls get the same `CommitContext` instance passed so that the implementor of the `IStoreAccessor` can track the state and progress of the commit operation.
  Since:
    2.0
  Author:
    Eike Stepper
  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 interface` | `IStoreAccessor.CommitContext.ModificationContext` | A data and result context for the modifications in `modify(Consumer)`.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CDOCommitInfo` | `createCommitInfo()` |
    `CDOBranchPoint` | `getBranchPoint()` | Returns the branch ID and timestamp of this commit operation.
    `java.lang.String` | `getCommitComment()` |
    `CDOBranchPoint` | `getCommitMergeSource()` |
    `<T> T` | `getData​(java.lang.Object key)` |
    `CDOID[]` | `getDetachedObjects()` | Returns an array of the removed object that are part of the commit operation represented by this `CommitContext`.
    `java.util.Map<CDOID,​org.eclipse.emf.ecore.EClass>` | `getDetachedObjectTypes()` | Returns a map with an `EClass` value per `CDOID` type.
    `CDOBranchVersion[]` | `getDetachedObjectVersions()` |
    `InternalCDORevisionDelta[]` | `getDirtyObjectDeltas()` | Returns an array of the dirty object deltas that are part of the commit operation represented by this `CommitContext`.
    `InternalCDORevision[]` | `getDirtyObjects()` | Returns an array of the dirty objects that are part of the commit operation represented by this `CommitContext`.
    `java.util.Map<CDOID,​CDOID>` | `getIDMappings()` | Returns an unmodifiable map from all temporary IDs to their persistent counter parts.
    `CDOID[]` | `getIDsToUnlock()` |
    `long` | `getLastUpdateTime()` |
    `org.eclipse.net4j.util.io.ExtendedDataInputStream` | `getLobs()` | Returns a stream that all `lobs` can be read from.
    `CDOLockState[]` | `getLocksOnNewObjects()` | Returns an array of the locks on the new objects that are part of the commit operation represented by this `CommitContext`.
    `InternalCDORevision[]` | `getNewObjects()` | Returns an array of the new objects that are part of the commit operation represented by this `CommitContext`.
    `InternalCDOPackageUnit[]` | `getNewPackageUnits()` | Returns an array of the new package units that are part of the commit operation represented by this `CommitContext`.
    `java.util.Map<CDOID,​InternalCDORevision>` | `getNewRevisions()` |
    `java.util.Map<CDOID,​InternalCDORevision>` | `getOldRevisions()` |
    `CDOProtocol.CommitData` | `getOriginalCommmitData()` |
    `InternalCDOPackageRegistry` | `getPackageRegistry()` | Returns the temporary, transactional package manager associated with the commit operation represented by this `CommitContext`.
    `java.util.List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<java.lang.Object,​IView>>` | `getPostCommmitLockStates()` |
    `long` | `getPreviousTimeStamp()` |
    `java.lang.String` | `getRollbackMessage()` |
    `byte` | `getRollbackReason()` |
    `byte` | `getSecurityImpact()` |
    `ITransaction` | `getTransaction()` | Returns the transactional view (`ITransaction`) which is the scope of the commit operation represented by this `CommitContext`.
    `java.lang.String` | `getUserID()` |
    `java.util.List<CDOIDReference>` | `getXRefs()` |
    `boolean` | `isAutoReleaseLocksEnabled()` | Deprecated. As of 4.5 no longer supported.
    `boolean` | `isClearResourcePathCache()` |
    `boolean` | `isUsingEcore()` |
    `boolean` | `isUsingEtypes()` |
    `void` | `modify​(java.util.function.Consumer<IStoreAccessor.CommitContext.ModificationContext> modifier)` |
    `<T> T` | `setData​(java.lang.Object key, T data)` |

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

      `getRevision`

- - ### Method Detail

    - #### getTransaction

          ITransaction getTransaction()

      Returns the transactional view (`ITransaction`) which is the scope of the commit operation represented by this `CommitContext`.
      Since:
        4.0

    - #### getBranchPoint

          CDOBranchPoint getBranchPoint()

      Returns the branch ID and timestamp of this commit operation.
      Since:
        3.0

    - #### getPreviousTimeStamp

          long getPreviousTimeStamp()

      Since:
        4.0

    - #### getUserID

          java.lang.String getUserID()

      Since:
        3.0

    - #### getCommitComment

          java.lang.String getCommitComment()

      Since:
        3.0

    - #### getCommitMergeSource

          CDOBranchPoint getCommitMergeSource()

      Since:
        4.6

    - #### getLastUpdateTime

          long getLastUpdateTime()

      Since:
        4.2

    - #### getPackageRegistry

          InternalCDOPackageRegistry getPackageRegistry()

      Returns the temporary, transactional package manager associated with the commit operation represented by this `CommitContext`. In addition to the packages registered with the session this package manager also contains the new packages that are part of this commit operation.

    - #### isClearResourcePathCache

          boolean isClearResourcePathCache()

      Since:
        4.2

    - #### getSecurityImpact

          byte getSecurityImpact()

      Since:
        4.3

    - #### isUsingEcore

          boolean isUsingEcore()

      Since:
        4.2

    - #### isUsingEtypes

          boolean isUsingEtypes()

      Since:
        4.2

    - #### getNewPackageUnits

          InternalCDOPackageUnit[] getNewPackageUnits()

      Returns an array of the new package units that are part of the commit operation represented by this `CommitContext`.

    - #### getNewObjects

          InternalCDORevision[] getNewObjects()

      Returns an array of the new objects that are part of the commit operation represented by this `CommitContext`.

    - #### getDirtyObjects

          InternalCDORevision[] getDirtyObjects()

      Returns an array of the dirty objects that are part of the commit operation represented by this `CommitContext`.

    - #### getDirtyObjectDeltas

          InternalCDORevisionDelta[] getDirtyObjectDeltas()

      Returns an array of the dirty object deltas that are part of the commit operation represented by this `CommitContext`.

    - #### getDetachedObjects

          CDOID[] getDetachedObjects()

      Returns an array of the removed object that are part of the commit operation represented by this `CommitContext`.
      Since:
        2.0

    - #### getDetachedObjectTypes

          java.util.Map<CDOID,​org.eclipse.emf.ecore.EClass> getDetachedObjectTypes()

      Returns a map with an `EClass` value per `CDOID` type.
      Since:
        4.0

    - #### getDetachedObjectVersions

          CDOBranchVersion[] getDetachedObjectVersions()

      Since:
        4.2

    - #### getOldRevisions

          java.util.Map<CDOID,​InternalCDORevision> getOldRevisions()

      Since:
        4.6

    - #### getNewRevisions

          java.util.Map<CDOID,​InternalCDORevision> getNewRevisions()

      Since:
        4.6

    - #### getOriginalCommmitData

          CDOProtocol.CommitData getOriginalCommmitData()

      Since:
        4.8

    - #### getLobs

          org.eclipse.net4j.util.io.ExtendedDataInputStream getLobs()

      Returns a stream that all `lobs` can be read from. The format of the data delivered through the stream is:

      1. `int`: the number of lobs to be read from the stream.
      2. The following data can be read from the stream in a loop with one iteration per lob in the stream:
         1. `int + byte[]`: the id of the lob (prepended by the size of the id).
         2. `long`: the size of the lob. The following interpretation applies:
            - A positive size indicates a `blob` and means the number of bytes that can be `read`.
            - A negative size indicates a `clob` and means the number of characters that can be `read`.
      Since:
        4.0

    - #### isAutoReleaseLocksEnabled

          @Deprecated
          boolean isAutoReleaseLocksEnabled()

      Deprecated.
      As of 4.5 no longer supported. See `getIDsToUnlock()`.
      Since:
        3.0

    - #### getLocksOnNewObjects

          CDOLockState[] getLocksOnNewObjects()

      Returns an array of the locks on the new objects that are part of the commit operation represented by this `CommitContext`.
      Since:
        4.1

    - #### getIDsToUnlock

          CDOID[] getIDsToUnlock()

      Since:
        4.6

    - #### getIDMappings

          java.util.Map<CDOID,​CDOID> getIDMappings()

      Returns an unmodifiable map from all temporary IDs to their persistent counter parts.

    - #### createCommitInfo

          CDOCommitInfo createCommitInfo()

      Since:
        4.0

    - #### getRollbackReason

          byte getRollbackReason()

      Since:
        4.2
      See Also:
        `CDOProtocolConstants`

    - #### getRollbackMessage

          java.lang.String getRollbackMessage()

      Since:
        3.0

    - #### getXRefs

          java.util.List<CDOIDReference> getXRefs()

      Since:
        4.0

    - #### getPostCommmitLockStates

          java.util.List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<java.lang.Object,​IView>> getPostCommmitLockStates()

      Since:
        4.1

    - #### getData

          <T> T getData​(java.lang.Object key)

      Since:
        4.3

    - #### setData

          <T> T setData​(java.lang.Object key,
                        T data)

      Since:
        4.3

    - #### modify

          void modify​(java.util.function.Consumer<IStoreAccessor.CommitContext.ModificationContext> modifier)

      Since:
        4.10