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

# Klasse DelegatingCDORevisionManager

java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.emf.cdo.spi.common.revision.DelegatingCDORevisionManager

Alle implementierten Schnittstellen:
  `CDORevisionCacheAdder`, `CDORevisionInterner`, `CDORevisionManager`, `InternalCDORevisionManager`, `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`

public abstract class DelegatingCDORevisionManager extends org.eclipse.net4j.util.lifecycle.Lifecycle implements InternalCDORevisionManager
If the meaning of this type isn't clear, there really should be more of a description here...

Seit:
  3.0
Autor:
  Eike Stepper

## Verschachtelte Klassen - Übersicht

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.lifecycle.ILifecycle

`org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.event.INotifier

`org.eclipse.net4j.util.event.INotifier.INotifier2`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionManager

`InternalCDORevisionManager.RevisionLoader, InternalCDORevisionManager.RevisionLoader2, InternalCDORevisionManager.RevisionLoader3, InternalCDORevisionManager.RevisionLocker`

## Feldübersicht

### Von Klasse geerbte Felder org.eclipse.net4j.util.lifecycle.Lifecycle

`USE_LABEL`

## Konstruktorübersicht

Konstruktoren
Konstruktor
Beschreibung
`DelegatingCDORevisionManager()`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`void`
`addRevision(CDORevision revision)`
Veraltet.
`boolean`
`containsRevision(CDOID id, CDOBranchPoint branchPoint)`
Returns `true` if the `revision cache` contains a `revision` with the given `ID` at the given `branch point` (branch + timestamp), `false` otherwise.
`boolean`
`containsRevisionByVersion(CDOID id, CDOBranchVersion branchVersion)`
Returns `true` if the `revision cache` contains a `revision` with the given `ID` at the given `branch version` (branch + version), `false` otherwise.
`protected void`
`doActivate()`
`protected void`
`doDeactivate()`
`InternalCDORevision`
`getBaseRevision(CDORevision revision, int referenceChunk, boolean loadOnDemand)`
`InternalCDORevisionCache`
`getCache()`
`protected abstract InternalCDORevisionManager`
`getDelegate()`
`CDORevisionFactory`
`getFactory()`
`CDOBranchPointRange`
`getObjectLifetime(CDOID id, CDOBranchPoint branchPoint)`
`EClass`
`getObjectType(CDOID id)`
Returns the `type` of an object if a revision for that object is in the revision cache, `null` otherwise.
`EClass`
`getObjectType(CDOID id, CDOBranchManager branchManagerForLoadOnDemand)`
Returns the `type` of an object.
`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 loadOnDemand)`
Returns the `revisions` with the given `IDs` at the given `branch point` (branch + timestamp), optionally demand loading them if they are not already in the `cache`.
`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, List<CDORevision> additionalRevisions)`
Returns the `revisions` with the given `IDs` at the given `branch point` (branch + timestamp), optionally demand loading them if they are not already in the `cache`.
`List<CDORevision>`
`getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics)`
`void`
`handleRevisions(EClass eClass, CDOBranch branch, boolean exactBranch, long timeStamp, boolean exactTime, CDORevisionHandler handler)`
`CDORevision`
`internRevision(CDORevision revision)`
Interns the given revision and returns either the given revision or a revision with the same `key` that was interned previously.
`protected boolean`
`isDelegatingLifecycle()`
`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)`

### Von Klasse geerbte Methoden org.eclipse.net4j.util.lifecycle.Lifecycle

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

### Von Klasse geerbte Methoden org.eclipse.net4j.util.event.Notifier

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

### Von Klasse geerbte Methoden java.lang.Object

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

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.lifecycle.ILifecycle

`activate, deactivate, getLifecycleState, isActive`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

## Konstruktordetails

### DelegatingCDORevisionManager

public DelegatingCDORevisionManager()

## Methodendetails

### getCache

public InternalCDORevisionCache getCache()

Angegeben von:
  `getCache` in Schnittstelle `InternalCDORevisionManager`

### setCache

public void setCache(CDORevisionCache cache)

Angegeben von:
  `setCache` in Schnittstelle `InternalCDORevisionManager`
Seit:
  4.0

### setFactory

public void setFactory(CDORevisionFactory factory)

Angegeben von:
  `setFactory` in Schnittstelle `InternalCDORevisionManager`

### getFactory

public CDORevisionFactory getFactory()

Angegeben von:
  `getFactory` in Schnittstelle `InternalCDORevisionManager`

### getRevisionLoader

public InternalCDORevisionManager.RevisionLoader getRevisionLoader()

Angegeben von:
  `getRevisionLoader` in Schnittstelle `InternalCDORevisionManager`

### setRevisionLoader

public void setRevisionLoader(InternalCDORevisionManager.RevisionLoader revisionLoader)

Angegeben von:
  `setRevisionLoader` in Schnittstelle `InternalCDORevisionManager`

### getRevisionLocker

public InternalCDORevisionManager.RevisionLocker getRevisionLocker()

Angegeben von:
  `getRevisionLocker` in Schnittstelle `InternalCDORevisionManager`

### setRevisionLocker

public void setRevisionLocker(InternalCDORevisionManager.RevisionLocker revisionLocker)

Angegeben von:
  `setRevisionLocker` in Schnittstelle `InternalCDORevisionManager`

### isSupportingAudits

public boolean isSupportingAudits()

Angegeben von:
  `isSupportingAudits` in Schnittstelle `InternalCDORevisionManager`
Seit:
  4.0

### setSupportingAudits

public void setSupportingAudits(boolean on)

Angegeben von:
  `setSupportingAudits` in Schnittstelle `InternalCDORevisionManager`
Seit:
  4.0

### isSupportingBranches

public boolean isSupportingBranches()

Angegeben von:
  `isSupportingBranches` in Schnittstelle `InternalCDORevisionManager`

### setSupportingBranches

public void setSupportingBranches(boolean on)

Angegeben von:
  `setSupportingBranches` in Schnittstelle `InternalCDORevisionManager`

### addRevision

@Deprecated public void addRevision(CDORevision revision)
Veraltet.
Beschreibung aus Schnittstelle kopiert: `CDORevisionCacheAdder`
Adds the given revision to this cache.

Angegeben von:
  `addRevision` in Schnittstelle `CDORevisionCacheAdder`
Angegeben von:
  `addRevision` in Schnittstelle `InternalCDORevisionManager`
Seit:
  4.0

### internRevision

public CDORevision internRevision(CDORevision revision)
Beschreibung aus Schnittstelle kopiert: `CDORevisionInterner`
Interns the given revision and returns either the given revision or a revision with the same `key` that was interned previously.

The returned revision is only different from the passed revision if this interner contains a previously cached, different revision instance with an equal `revision key`.

Angegeben von:
  `internRevision` in Schnittstelle `CDORevisionInterner`

### containsRevision

public boolean containsRevision(CDOID id, CDOBranchPoint branchPoint)
Beschreibung aus Schnittstelle kopiert: `CDORevisionManager`
Returns `true` if the `revision cache` contains a `revision` with the given `ID` at the given `branch point` (branch + timestamp), `false` otherwise.

Angegeben von:
  `containsRevision` in Schnittstelle `CDORevisionManager`
Siehe auch:
  - `CDORevisionManager.getRevision(CDOID, CDOBranchPoint, int, int, boolean)`
  - `CDORevisionManager.getRevisions(List, CDOBranchPoint, int, int, boolean)`

### containsRevisionByVersion

public boolean containsRevisionByVersion(CDOID id, CDOBranchVersion branchVersion)
Beschreibung aus Schnittstelle kopiert: `CDORevisionManager`
Returns `true` if the `revision cache` contains a `revision` with the given `ID` at the given `branch version` (branch + version), `false` otherwise.

Angegeben von:
  `containsRevisionByVersion` in Schnittstelle `CDORevisionManager`
Siehe auch:
  - `CDORevisionManager.getRevisionByVersion(CDOID, CDOBranchVersion, int, boolean)`

### getObjectType

public EClass getObjectType(CDOID id)
Beschreibung aus Schnittstelle kopiert: `CDORevisionManager`
Returns the `type` of an object if a revision for that object is in the revision cache, `null` otherwise.

Same as calling `getObjectType(id, null)`.

Angegeben von:
  `getObjectType` in Schnittstelle `CDORevisionManager`
Siehe auch:
  - `EObject.eClass()`
  - `CDORevisionManager.getObjectType(CDOID, CDOBranchManager)`

### getObjectType

public EClass getObjectType(CDOID id, CDOBranchManager branchManagerForLoadOnDemand)
Beschreibung aus Schnittstelle kopiert: `CDORevisionManager`
Returns the `type` of an object.

If no revision for that object is found in the revision cache the following is tried:

1. If `branchManagerForLoadOnDemand` is not `null` the first revision of the object in the main branch is loaded from the server and its type is returned.
2. Otherwise (i.e., if `branchManagerForLoadOnDemand` is `null` or the object does not exist) `null` is returned.

A `branch manager` is required instead of just a boolean value to specify whether to demand-load or not because this revision manager must be able to access the `main branch` while demand-loading.

Angegeben von:
  `getObjectType` in Schnittstelle `CDORevisionManager`
Siehe auch:
  - `EObject.eClass()`
  - `CDORevisionManager.getObjectType(CDOID)`

### getObjectLifetime

public CDOBranchPointRange getObjectLifetime(CDOID id, CDOBranchPoint branchPoint)

Angegeben von:
  `getObjectLifetime` in Schnittstelle `CDORevisionManager`

### getBaseRevision

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

Angegeben von:
  `getBaseRevision` in Schnittstelle `InternalCDORevisionManager`

### getRevisionByVersion

public InternalCDORevision getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, int referenceChunk, boolean loadOnDemand)
Beschreibung aus Schnittstelle kopiert: `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.

Angegeben von:
  `getRevisionByVersion` in Schnittstelle `CDORevisionManager`
Angegeben von:
  `getRevisionByVersion` in Schnittstelle `InternalCDORevisionManager`
Parameter:
  `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.
Siehe auch:
  - `CDORevisionManager.getRevision(CDOID, CDOBranchPoint, int, int, boolean)`

### getRevision

public InternalCDORevision getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand)
Beschreibung aus Schnittstelle kopiert: `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`.

Angegeben von:
  `getRevision` in Schnittstelle `CDORevisionManager`
Angegeben von:
  `getRevision` in Schnittstelle `InternalCDORevisionManager`
Parameter:
  `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.
Siehe auch:
  - `CDORevisionManager.getRevisions(List, CDOBranchPoint, int, int, boolean)`
  - `CDORevisionManager.getRevisionByVersion(CDOID, CDOBranchVersion, int, boolean)`

### getRevision

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

Angegeben von:
  `getRevision` in Schnittstelle `InternalCDORevisionManager`

### getRevisions

public List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand)
Beschreibung aus Schnittstelle kopiert: `CDORevisionManager`
Returns the `revisions` with the given `IDs` at the given `branch point` (branch + timestamp), optionally demand loading them if they are not already in the `cache`.

Angegeben von:
  `getRevisions` in Schnittstelle `CDORevisionManager`
Parameter:
  `referenceChunk` - The number of target `IDs` to load for each many-valued reference in the returned revisions, 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 revisions are 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 one or more of the requested revisions is/are not contained in the revision cache it depends on this parameter's value whether the revision(s) is/are loaded from the server or `null` is placed in the list that is returned.
Siehe auch:
  - `CDORevisionManager.getRevision(CDOID, CDOBranchPoint, int, int, boolean)`

### getRevisions

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

Angegeben von:
  `getRevisions` in Schnittstelle `InternalCDORevisionManager`

### getRevisions

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

Angegeben von:
  `getRevisions` in Schnittstelle `InternalCDORevisionManager`

### getRevisions

public List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, List<CDORevision> additionalRevisions)
Beschreibung aus Schnittstelle kopiert: `CDORevisionManager`
Returns the `revisions` with the given `IDs` at the given `branch point` (branch + timestamp), optionally demand loading them if they are not already in the `cache`.

Angegeben von:
  `getRevisions` in Schnittstelle `CDORevisionManager`
Parameter:
  `referenceChunk` - The number of target `IDs` to load for each many-valued reference in the returned revisions, 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 revisions are 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 one or more of the requested revisions is/are not contained in the revision cache it depends on this parameter's value whether the revision(s) is/are loaded from the server or `null` is placed in the list that is returned.
  `additionalRevisions` - If non-`null`, a list to add additionally prefetched revisions to.
Seit:
  4.15
Siehe auch:
  - `CDORevisionManager.getRevision(CDOID, CDOBranchPoint, int, int, boolean)`

### prefetchRevisions

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

Angegeben von:
  `prefetchRevisions` in Schnittstelle `InternalCDORevisionManager`

### handleRevisions

public void handleRevisions(EClass eClass, CDOBranch branch, boolean exactBranch, long timeStamp, boolean exactTime, CDORevisionHandler handler)

Angegeben von:
  `handleRevisions` in Schnittstelle `CDORevisionManager`

### reviseLatest

public void reviseLatest(CDOID id, CDOBranch branch)
Beschreibung aus Schnittstelle kopiert: `InternalCDORevisionManager`
Called on client via postCommit when there is no version of detached objects available.

Angegeben von:
  `reviseLatest` in Schnittstelle `InternalCDORevisionManager`

### reviseVersion

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

Angegeben von:
  `reviseVersion` in Schnittstelle `InternalCDORevisionManager`

### doActivate

protected void doActivate() throws Exception

Setzt außer Kraft:
  `doActivate` in Klasse `org.eclipse.net4j.util.lifecycle.Lifecycle`
Löst aus:
  `Exception`

### doDeactivate

protected void doDeactivate() throws Exception

Setzt außer Kraft:
  `doDeactivate` in Klasse `org.eclipse.net4j.util.lifecycle.Lifecycle`
Löst aus:
  `Exception`

### isDelegatingLifecycle

protected boolean isDelegatingLifecycle()

### getDelegate

protected abstract InternalCDORevisionManager getDelegate()