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, INotifier, IDeactivateable, ILifecycle, 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.emf.cdo.server.IStoreAccessor

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

    - ### 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.net4j.util.lifecycle.ILifecycle

      `ILifecycle.DeferrableActivation`

  - ### 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 and 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 and Description
    --- | ---
    `protected void` | `applyIDMappings(InternalCommitContext context, OMMonitor monitor)`
    `protected abstract void` | `detachObjects(CDOID[] detachedObjects, CDOBranch branch, long timeStamp, OMMonitor monitor)`
    `protected void` | `doWrite(InternalCommitContext context, OMMonitor monitor)`
    `protected abstract void` | `writeBlob(byte[] id, long size, InputStream inputStream)`
    `protected abstract void` | `writeClob(byte[] id, long size, Reader reader)`
    `protected void` | `writeCommitInfo(CDOBranch branch, long timeStamp, long previousTimeStamp, String userID, String comment, CDOBranchPoint mergeSource, OMMonitor monitor)`
    `protected abstract void` | `writeCommitInfo(CDOBranch branch, long timeStamp, long previousTimeStamp, String userID, String comment, 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, OMMonitor monitor)`
    `protected void` | `writeNewObjectRevisions(InternalCommitContext context, InternalCDORevision[] newObjects, CDOBranch branch, OMMonitor monitor)`
    `protected abstract void` | `writeRevisionDeltas(InternalCDORevisionDelta[] revisionDeltas, CDOBranch branch, long created, OMMonitor monitor)`
    `protected abstract void` | `writeRevisions(InternalCDORevision[] revisions, CDOBranch branch, 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, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, removeListener`

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

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

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

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

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

      `getQueryHandler`

    - ### 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.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Constructor Detail

    - #### StoreAccessor

          protected StoreAccessor(Store store,
                                  ISession session)

    - #### StoreAccessor

          protected StoreAccessor(Store store,
                                  ITransaction transaction)

  - ### Method Detail

    - #### doWrite

          protected void doWrite(InternalCommitContext context,
                                 OMMonitor monitor)

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

    - #### applyIDMappings

          protected void applyIDMappings(InternalCommitContext context,
                                         OMMonitor monitor)

      Since:
        3.0

    - #### writeCommitInfo

          @Deprecated
          protected abstract void writeCommitInfo(CDOBranch branch,
                                                               long timeStamp,
                                                               long previousTimeStamp,
                                                               String userID,
                                                               String comment,
                                                               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,
                                         String userID,
                                         String comment,
                                         CDOBranchPoint mergeSource,
                                         OMMonitor monitor)

      Since:
        4.6

    - #### writeNewObjectRevisions

          protected void writeNewObjectRevisions(InternalCommitContext context,
                                                 InternalCDORevision[] newObjects,
                                                 CDOBranch branch,
                                                 OMMonitor monitor)

      Since:
        4.5

    - #### writeDirtyObjectRevisions

          protected void writeDirtyObjectRevisions(InternalCommitContext context,
                                                   InternalCDORevision[] dirtyObjects,
                                                   CDOBranch branch,
                                                   OMMonitor monitor)

      Since:
        4.5

    - #### writeRevisions

          protected abstract void writeRevisions(InternalCDORevision[] revisions,
                                                 CDOBranch branch,
                                                 OMMonitor monitor)

      Since:
        3.0

    - #### writeRevisionDeltas

          protected abstract void writeRevisionDeltas(InternalCDORevisionDelta[] revisionDeltas,
                                                      CDOBranch branch,
                                                      long created,
                                                      OMMonitor monitor)

      Since:
        3.0

    - #### detachObjects

          protected abstract void detachObjects(CDOID[] detachedObjects,
                                                CDOBranch branch,
                                                long timeStamp,
                                                OMMonitor monitor)

      Since:
        3.0

    - #### writeBlob

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

      Throws:
        `IOException`
      Since:
        4.0

    - #### writeClob

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

      Throws:
        `IOException`
      Since:
        4.0

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html