Package org.eclipse.emf.cdo.spi.server

## Class StoreAccessor

- java.lang.Object
- - org.eclipse.net4j.util.event.Notifier
  - - org.eclipse.net4j.util.lifecycle.Lifecycle
    - - org.eclipse.emf.cdo.spi.server.StoreAccessorBase
      - - org.eclipse.emf.cdo.spi.server.StoreAccessor

- All Implemented Interfaces:
    `IQueryHandlerProvider`, `IStoreAccessor`, `InternalCDOBranchManager.BranchLoader`, `InternalCDOCommitInfoManager.CommitInfoLoader`, `org.eclipse.net4j.util.event.INotifier`, `org.eclipse.net4j.util.event.INotifier.INotifier2`, `org.eclipse.net4j.util.lifecycle.IDeactivateable`, `org.eclipse.net4j.util.lifecycle.ILifecycle`, `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`
  Direct Known Subclasses:
    `LongIDStoreAccessor`

      public abstract class StoreAccessor
      extends StoreAccessorBase

  If the meaning of this type isn't clear, there really should be more of a description here...
  Since:
    2.0
  Author:
    Eike Stepper

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.eclipse.emf.cdo.spi.server.StoreAccessorBase

      `StoreAccessorBase.CommitDataRevisionHandler`

    - ### 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.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader

      `InternalCDOBranchManager.BranchLoader.BranchInfo, InternalCDOBranchManager.BranchLoader.SubBranchInfo`

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.server.IStoreAccessor

      `IStoreAccessor.CommitContext, IStoreAccessor.DurableLocking, IStoreAccessor.DurableLocking2, IStoreAccessor.QueryResourcesContext, IStoreAccessor.QueryXRefsContext, IStoreAccessor.Raw, IStoreAccessor.Raw2, IStoreAccessor.UnitSupport`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `USE_LABEL`

    - ### Fields inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader

      `NEW_BRANCH, NEW_LOCAL_BRANCH`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `StoreAccessor​(Store store, ISession session)` |
    `protected` | `StoreAccessor​(Store store, ITransaction transaction)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `applyIDMappings​(InternalCommitContext context, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected abstract void` | `detachObjects​(CDOID[] detachedObjects, CDOBranch branch, long timeStamp, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected void` | `doWrite​(InternalCommitContext context, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected boolean` | `needsRevisionPostProcessing()` |
    `protected void` | `postProcessRevisions​(InternalCommitContext context, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected abstract void` | `writeBlob​(byte[] id, long size, java.io.InputStream inputStream)` |
    `protected abstract void` | `writeClob​(byte[] id, long size, java.io.Reader reader)` |
    `protected void` | `writeCommitInfo​(CDOBranch branch, long timeStamp, long previousTimeStamp, java.lang.String userID, java.lang.String comment, CDOBranchPoint mergeSource, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected abstract void` | `writeCommitInfo​(CDOBranch branch, long timeStamp, long previousTimeStamp, java.lang.String userID, java.lang.String comment, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` | Deprecated. As of 4.6 override `writeCommitInfo(CDOBranch, long, long, String, String, CDOBranchPoint, OMMonitor)`.
    `protected void` | `writeDirtyObjectRevisions​(InternalCommitContext context, InternalCDORevision[] dirtyObjects, CDOBranch branch, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected void` | `writeNewObjectRevisions​(InternalCommitContext context, InternalCDORevision[] newObjects, CDOBranch branch, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected abstract void` | `writeRevisionDeltas​(InternalCDORevisionDelta[] revisionDeltas, CDOBranch branch, long created, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |
    `protected abstract void` | `writeRevisions​(InternalCDORevision[] revisions, CDOBranch branch, org.eclipse.net4j.util.om.monitor.OMMonitor monitor)` |

    - ### Methods inherited from class org.eclipse.emf.cdo.spi.server.StoreAccessorBase

      `addIDMappings, commit, doCommit, doPassivate, doRollback, doUnpassivate, getNextCDOID, getSession, getStore, getTransaction, isReader, loadCommitData, readResourceID, release, rollback, write`

    - ### Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

      `activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString`

    - ### Methods inherited from class org.eclipse.net4j.util.event.Notifier

      `addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

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

      `addListener, getListeners, hasListeners, removeListener`

    - ### Methods inherited from interface org.eclipse.emf.cdo.spi.common.branch.InternalCDOBranchManager.BranchLoader

      `createBranch, loadBranch, loadBranches, loadSubBranches`

    - ### Methods inherited from interface org.eclipse.emf.cdo.spi.common.commit.InternalCDOCommitInfoManager.CommitInfoLoader

      `loadCommitInfos`

    - ### Methods inherited from interface org.eclipse.emf.cdo.server.IQueryHandlerProvider

      `getQueryHandler`

    - ### Methods inherited from interface org.eclipse.emf.cdo.server.IStoreAccessor

      `createChunkReader, handleLobs, handleRevisions, loadLob, loadPackageUnit, queryLobs, queryResources, queryXRefs, readChangeSet, readPackageUnits, readRevision, readRevisionByVersion, writePackageUnits`

- - ### Constructor Detail

    - #### StoreAccessor

          protected StoreAccessor​(Store store,
                                  ISession session)

    - #### StoreAccessor

          protected StoreAccessor​(Store store,
                                  ITransaction transaction)

  - ### Method Detail

    - #### doWrite

          protected void doWrite​(InternalCommitContext context,
                                 org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Specified by:
        `doWrite` in class `StoreAccessorBase`
      Since:
        4.0

    - #### needsRevisionPostProcessing

          protected boolean needsRevisionPostProcessing()

      Since:
        4.6

    - #### postProcessRevisions

          protected void postProcessRevisions​(InternalCommitContext context,
                                              org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        4.6

    - #### applyIDMappings

          protected void applyIDMappings​(InternalCommitContext context,
                                         org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        3.0

    - #### writeCommitInfo

          @Deprecated
          protected abstract void writeCommitInfo​(CDOBranch branch,
                                                  long timeStamp,
                                                  long previousTimeStamp,
                                                  java.lang.String userID,
                                                  java.lang.String comment,
                                                  org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Deprecated.
      As of 4.6 override `writeCommitInfo(CDOBranch, long, long, String, String, CDOBranchPoint, OMMonitor)`.
      Since:
        4.0

    - #### writeCommitInfo

          protected void writeCommitInfo​(CDOBranch branch,
                                         long timeStamp,
                                         long previousTimeStamp,
                                         java.lang.String userID,
                                         java.lang.String comment,
                                         CDOBranchPoint mergeSource,
                                         org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        4.6

    - #### writeNewObjectRevisions

          protected void writeNewObjectRevisions​(InternalCommitContext context,
                                                 InternalCDORevision[] newObjects,
                                                 CDOBranch branch,
                                                 org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        4.5

    - #### writeDirtyObjectRevisions

          protected void writeDirtyObjectRevisions​(InternalCommitContext context,
                                                   InternalCDORevision[] dirtyObjects,
                                                   CDOBranch branch,
                                                   org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        4.5

    - #### writeRevisions

          protected abstract void writeRevisions​(InternalCDORevision[] revisions,
                                                 CDOBranch branch,
                                                 org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        3.0

    - #### writeRevisionDeltas

          protected abstract void writeRevisionDeltas​(InternalCDORevisionDelta[] revisionDeltas,
                                                      CDOBranch branch,
                                                      long created,
                                                      org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        3.0

    - #### detachObjects

          protected abstract void detachObjects​(CDOID[] detachedObjects,
                                                CDOBranch branch,
                                                long timeStamp,
                                                org.eclipse.net4j.util.om.monitor.OMMonitor monitor)

      Since:
        3.0

    - #### writeBlob

          protected abstract void writeBlob​(byte[] id,
                                            long size,
                                            java.io.InputStream inputStream)
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`
      Since:
        4.0

    - #### writeClob

          protected abstract void writeClob​(byte[] id,
                                            long size,
                                            java.io.Reader reader)
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`
      Since:
        4.0