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

# Interface InternalCDORevisionManager

All Superinterfaces:
  `CDORevisionCacheAdder`, `CDORevisionInterner`, `CDORevisionManager`, `org.eclipse.net4j.util.lifecycle.IDeactivateable`, `org.eclipse.net4j.util.lifecycle.ILifecycle`, `org.eclipse.net4j.util.event.INotifier`

All Known Implementing Classes:
  `DelegatingCDORevisionManager`

public interface InternalCDORevisionManager extends CDORevisionManager, CDORevisionInterner, CDORevisionCacheAdder, org.eclipse.net4j.util.lifecycle.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
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.RevisionLoader3`
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

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

## Method Summary

Modifier and Type
Method
Description
`void`
`addRevision(CDORevision revision)`
Deprecated.
As of 4.15 use `CDORevisionInterner.internRevision(CDORevision)`.
`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()`
`List<CDORevision>`
`getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean prefetchLockStates, boolean loadOnDemand, SyntheticCDORevision[] synthetics)`
`List<CDORevision>`
`getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics)`
`boolean`
`isSupportingAudits()`
`boolean`
`isSupportingBranches()`
`void`
`prefetchRevisions(CDOID id, CDOBranchPoint branchPoint, int prefetchDepth, boolean prefetchLockStates, Consumer<CDORevision> consumer)`
`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.CDORevisionInterner

`internRevision`

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

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

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

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

### prefetchRevisions

void prefetchRevisions(CDOID id, CDOBranchPoint branchPoint, int prefetchDepth, boolean prefetchLockStates, Consumer<CDORevision> consumer)

Since:
  4.15

### getRevisions

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

### getRevisions

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

Since:
  4.15

### getRevision

InternalCDORevision getRevision(CDOID id, 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

### addRevision

@Deprecated void addRevision(CDORevision revision)
Deprecated.
As of 4.15 use `CDORevisionInterner.internRevision(CDORevision)`.
Description copied from interface: `CDORevisionCacheAdder`
Adds the given revision to this cache.

Specified by:
  `addRevision` in interface `CDORevisionCacheAdder`