org.eclipse.emf.cdo.spi.common.revision

## Interface InternalCDORevisionManager

- All Superinterfaces:
    CDORevisionCacheAdder, CDORevisionManager, IDeactivateable, ILifecycle, INotifier
  All Known Implementing Classes:
    DelegatingCDORevisionManager

      public interface InternalCDORevisionManager
      extends CDORevisionManager, CDORevisionCacheAdder, ILifecycle

  If the meaning of this type isn't clear, there really should be more of a description here...
  Since:
    3.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 and Description
    --- | ---
    `static interface` | `InternalCDORevisionManager.RevisionLoader` If the meaning of this type isn't clear, there really should be more of a description here...
    `static interface` | `InternalCDORevisionManager.RevisionLoader2` If the meaning of this type isn't clear, there really should be more of a description here...
    `static interface` | `InternalCDORevisionManager.RevisionLocker` If the meaning of this type isn't clear, there really should be more of a description here...

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

      `ILifecycle.DeferrableActivation`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `InternalCDORevision` | `getBaseRevision(CDORevision revision, int referenceChunk, boolean loadOnDemand)`
    `InternalCDORevisionCache` | `getCache()`
    `CDORevisionFactory` | `getFactory()`
    `InternalCDORevision` | `getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand)` Returns the `revision` with the given `ID` at the given `branch point` (branch + timestamp), optionally demand loading it if it is not already in the `cache`.
    `InternalCDORevision` | `getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics)`
    `InternalCDORevision` | `getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, int referenceChunk, boolean loadOnDemand)` Returns the `revision` with the given `ID` at the given `branch version` (branch + version), optionally demand loading it if it is not already in the `cache`.
    `InternalCDORevisionManager.RevisionLoader` | `getRevisionLoader()`
    `InternalCDORevisionManager.RevisionLocker` | `getRevisionLocker()`
    `java.util.List<CDORevision>` | `getRevisions(java.util.List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics)`
    `boolean` | `isSupportingAudits()`
    `boolean` | `isSupportingBranches()`
    `void` | `reviseLatest(CDOID id, CDOBranch branch)` Called on client via postCommit when there is no version of detached objects available.
    `void` | `reviseVersion(CDOID id, CDOBranchVersion branchVersion, long timeStamp)`
    `void` | `setCache(CDORevisionCache cache)`
    `void` | `setFactory(CDORevisionFactory factory)`
    `void` | `setRevisionLoader(InternalCDORevisionManager.RevisionLoader revisionLoader)`
    `void` | `setRevisionLocker(InternalCDORevisionManager.RevisionLocker revisionLocker)`
    `void` | `setSupportingAudits(boolean on)`
    `void` | `setSupportingBranches(boolean on)`

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

      `containsRevision, containsRevisionByVersion, getObjectLifetime, getObjectType, getObjectType, getRevisions, handleRevisions`

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

      `addRevision`

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

- - ### Method Detail

    - #### isSupportingAudits

          boolean isSupportingAudits()

      Since:
        4.0

    - #### setSupportingAudits

          void setSupportingAudits(boolean on)

      Since:
        4.0

    - #### isSupportingBranches

          boolean isSupportingBranches()

    - #### setSupportingBranches

          void setSupportingBranches(boolean on)

    - #### getRevisionLoader

          InternalCDORevisionManager.RevisionLoader getRevisionLoader()

    - #### setRevisionLoader

          void setRevisionLoader(InternalCDORevisionManager.RevisionLoader revisionLoader)

    - #### getRevisionLocker

          InternalCDORevisionManager.RevisionLocker getRevisionLocker()

    - #### setRevisionLocker

          void setRevisionLocker(InternalCDORevisionManager.RevisionLocker revisionLocker)

    - #### getFactory

          CDORevisionFactory getFactory()

    - #### setFactory

          void setFactory(CDORevisionFactory factory)

    - #### getCache

          InternalCDORevisionCache getCache()

    - #### setCache

          void setCache(CDORevisionCache cache)

      Since:
        4.0

    - #### reviseLatest

          void reviseLatest(CDOID id,
                            CDOBranch branch)

      Called on client via postCommit when there is no version of detached objects available.

    - #### reviseVersion

          void reviseVersion(CDOID id,
                             CDOBranchVersion branchVersion,
                             long timeStamp)

    - #### getRevision

          InternalCDORevision getRevision(CDOID id,
                                          CDOBranchPoint branchPoint,
                                          int referenceChunk,
                                          int prefetchDepth,
                                          boolean loadOnDemand,
                                          SyntheticCDORevision[] synthetics)

    - #### getRevisions

          java.util.List<CDORevision> getRevisions(java.util.List<CDOID> ids,
                                                   CDOBranchPoint branchPoint,
                                                   int referenceChunk,
                                                   int prefetchDepth,
                                                   boolean loadOnDemand,
                                                   SyntheticCDORevision[] synthetics)

    - #### getRevision

          InternalCDORevision getRevision(CDOID id,
                                          CDOBranchPoint branchPoint,
                                          int referenceChunk,
                                          int prefetchDepth,
                                          boolean loadOnDemand)

      Description copied from interface: `CDORevisionManager`
      Returns the `revision` with the given `ID` at the given `branch point` (branch + timestamp), optionally demand loading it if it is not already in the `cache`.
      Specified by:
        `getRevision` in interface `CDORevisionManager`
        `referenceChunk` - The number of target `IDs` to load for each many-valued reference in the returned revision, or `CDORevision.UNCHUNKED` for all such list elements (IDs).
        `prefetchDepth` - The number of nested containment levels to load revisions for in one round trip. Use the symbolic constants `CDORevision.DEPTH_INFINITE` to prefetch all contained revisions or `CDORevision.DEPTH_NONE` to not prefetch anything. Only the explicitly requested revision is returned by this method. If additional revisions are prefetched they are placed in the revision cache to speed up subsequent calls to this method.
        `loadOnDemand` - If the requested revision is not contained in the revision cache it depends on this parameter's value whether the revision is loaded from the server or `null` is returned.
      See Also:
        `CDORevisionManager.getRevisions(List, CDOBranchPoint, int, int, boolean)`, `CDORevisionManager.getRevisionByVersion(CDOID, CDOBranchVersion, int, boolean)`

    - #### getRevisionByVersion

          InternalCDORevision getRevisionByVersion(CDOID id,
                                                   CDOBranchVersion branchVersion,
                                                   int referenceChunk,
                                                   boolean loadOnDemand)

      Description copied from interface: `CDORevisionManager`
      Returns the `revision` with the given `ID` at the given `branch version` (branch + version), optionally demand loading it if it is not already in the `cache`.

      Prefetching of nested containment levels is not support by this method because the version of a particular revision can not serve as a reasonable baseline criterium for a consistent graph of multiple revisions.

      Specified by:
        `getRevisionByVersion` in interface `CDORevisionManager`
        `referenceChunk` - The number of target `IDs` to load for each many-valued reference in the returned revision, or `CDORevision.UNCHUNKED` for all such list elements (IDs).
        `loadOnDemand` - If the requested revision is not contained in the revision cache it depends on this parameter's value whether the revision is loaded from the server or `null` is returned.
      See Also:
        `CDORevisionManager.getRevision(CDOID, CDOBranchPoint, int, int, boolean)`

    - #### getBaseRevision

          InternalCDORevision getBaseRevision(CDORevision revision,
                                              int referenceChunk,
                                              boolean loadOnDemand)

      Since:
        4.8

Copyright (c) 2004-2019 Eike Stepper (Loehne, 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