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
Internal owner of revision loading, interning, and caching for a session or repository. It resolves revisions at
branch points and versions, delegates storage access to a loader, and coordinates atomic load requests with a locker.
- 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 ClassesModifier and TypeInterfaceDescriptionstatic interfaceStorage boundary used by the revision manager to retrieve revision state and enumerate historical revisions.static interfaceRevision-loader extension for retrieving an object's lifetime at a branch point, enabling the manager to answer whether the object existed there without loading its full feature state.static interfaceRevision-loader extension for batch loading revision metadata and values using the older explicit chunk and prefetch options.static interfaceThe canonical revision-loading extension.static interfaceLock used to keep a multi-step revision request atomic with respect to other loads for the same key.Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionManager
CDORevisionManager.RequestNested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivationNested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2 -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRevision(CDORevision revision) Deprecated.getBaseRevision(CDORevision revision, int referenceChunk, boolean loadOnDemand) Deprecated.As of 4.37 usegetBaseRevision(CDORevision, CDORevisionManager.Request.Config).getBaseRevision(CDORevision revision, CDORevisionManager.Request.Config config) Loads the base revision using the canonical configuration-based path.getCache()getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand) Deprecated.getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics) Deprecated.getRevision(CDOID id, CDOBranchPoint branchPoint, CDORevisionManager.Request.Config config) Loads revisions using the canonical request configuration.getRevision(CDOID id, CDOBranchPoint branchPoint, CDORevisionManager.Request.Config config, SyntheticCDORevision[] synthetics) Loads one revision through the canonical configuration-based path.getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, int referenceChunk, boolean loadOnDemand) Deprecated.getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, CDORevisionManager.Request.Config config) Loads a revision by version through the canonical configuration-based path.getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean prefetchLockStates, boolean loadOnDemand, SyntheticCDORevision[] synthetics) Deprecated.As of 4.37 use the configuration-basedgetRevisions(List, CDOBranchPoint, CDORevisionManager.Request.Config, SyntheticCDORevision[]).getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics) Deprecated.getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, CDORevisionManager.Request.Config config, SyntheticCDORevision[] synthetics) Loads revisions through the canonical configuration-based path.getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, CDORevisionManager.Request.Config config, SyntheticCDORevision[] synthetics, List<CDORevision> additionalRevisions) Loads revisions through the canonical configuration-based path, preserving both result channels separately from the request configuration.booleanbooleanvoidprefetchRevisions(CDOID id, CDOBranchPoint branchPoint, int prefetchDepth, boolean prefetchLockStates, Consumer<CDORevision> consumer) voidreviseLatest(CDOID id, CDOBranch branch) Called on client via postCommit when there is no version of detached objects available.voidreviseVersion(CDOID id, CDOBranchVersion branchVersion, long timeStamp) voidsetCache(CDORevisionCache cache) voidsetFactory(CDORevisionFactory factory) voidsetRevisionLoader(InternalCDORevisionManager.RevisionLoader revisionLoader) voidsetRevisionLocker(InternalCDORevisionManager.RevisionLocker revisionLocker) voidsetSupportingAudits(boolean on) voidsetSupportingBranches(boolean on) Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionInterner
internRevisionMethods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionManager
containsRevision, containsRevisionByVersion, getObjectLifetime, getObjectType, getObjectType, getRevisions, getRevisions, getRevisions, getRevisions, handleRevisions, requestMethods inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle
activate, deactivate, getLifecycleState, isActiveMethods 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
-
getRevisionLocker
InternalCDORevisionManager.RevisionLocker getRevisionLocker() -
setRevisionLocker
-
getFactory
CDORevisionFactory getFactory() -
setFactory
-
getCache
InternalCDORevisionCache getCache() -
setCache
- Since:
- 4.0
-
reviseLatest
Called on client via postCommit when there is no version of detached objects available. -
reviseVersion
-
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, CDORevisionManager.Request.Config config, SyntheticCDORevision[] synthetics) Loads revisions through the canonical configuration-based path. Synthetic revisions are a result channel and are deliberately kept separate from the request configuration.- Parameters:
ids- the IDs of the requested objectsbranchPoint- the branch point at which to load the revisionsconfig- the immutable loading optionssynthetics- an optional array through which synthetic revisions are supplied- Returns:
- the requested revisions, with
nullentries for revisions that could not be found - Since:
- 4.29
-
getRevisions
List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, CDORevisionManager.Request.Config config, SyntheticCDORevision[] synthetics, List<CDORevision> additionalRevisions) Loads revisions through the canonical configuration-based path, preserving both result channels separately from the request configuration.- Parameters:
ids- the IDs of the requested objectsbranchPoint- the branch point at which to load the revisionsconfig- the immutable loading optionssynthetics- an optional array through which synthetic revisions are suppliedadditionalRevisions- an optional list for revisions prefetched in addition to the requested revisions- Returns:
- the requested revisions, with
nullentries for revisions that could not be found - Since:
- 4.29
-
getRevision
InternalCDORevision getRevision(CDOID id, CDOBranchPoint branchPoint, CDORevisionManager.Request.Config config, SyntheticCDORevision[] synthetics) Loads one revision through the canonical configuration-based path.- Parameters:
id- the ID of the requested objectbranchPoint- the branch point at which to load the revisionconfig- the immutable loading optionssynthetics- an optional array through which a synthetic revision is supplied- Returns:
- the revision, or
nullif it does not exist or lookup is cache-only and the cache misses - Since:
- 4.29
-
getRevision
InternalCDORevision getRevision(CDOID id, CDOBranchPoint branchPoint, CDORevisionManager.Request.Config config) Description copied from interface:CDORevisionManagerLoads revisions using the canonical request configuration.- Specified by:
getRevisionin interfaceCDORevisionManager- Parameters:
id- the ID of the requested objectbranchPoint- the branch point at which to load the revisionconfig- the immutable loading configuration- Returns:
- the revision, or
nullif it does not exist or lookup is cache-only and the cache misses - Since:
- 4.29
- See Also:
-
getRevisionByVersion
InternalCDORevision getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, CDORevisionManager.Request.Config config) Loads a revision by version through the canonical configuration-based path.- Specified by:
getRevisionByVersionin interfaceCDORevisionManager- Parameters:
id- the ID of the requested objectbranchVersion- the branch version at which to load the revisionconfig- the immutable loading options- Returns:
- the revision, or
nullif it does not exist or lookup is cache-only and the cache misses - Since:
- 4.29
- See Also:
-
getBaseRevision
Loads the base revision using the canonical configuration-based path.- Parameters:
revision- the revision whose base revision is requestedconfig- the immutable loading options- Returns:
- the base revision, or
nullif it does not exist or lookup is cache-only and the cache misses - Since:
- 4.29
-
getRevisions
@Deprecated List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics) Deprecated. -
getRevisions
@Deprecated List<CDORevision> getRevisions(List<CDOID> ids, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean prefetchLockStates, boolean loadOnDemand, SyntheticCDORevision[] synthetics) Deprecated.As of 4.37 use the configuration-basedgetRevisions(List, CDOBranchPoint, CDORevisionManager.Request.Config, SyntheticCDORevision[]).- Since:
- 4.15
-
getRevision
@Deprecated InternalCDORevision getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand, SyntheticCDORevision[] synthetics) Deprecated. -
getRevision
@Deprecated InternalCDORevision getRevision(CDOID id, CDOBranchPoint branchPoint, int referenceChunk, int prefetchDepth, boolean loadOnDemand) Deprecated.Description copied from interface:CDORevisionManagerReturns therevisionwith the givenIDat the givenbranch point(branch + timestamp), optionally demand loading it if it is not already in thecache.- Specified by:
getRevisionin interfaceCDORevisionManager- Parameters:
referenceChunk- The number of targetIDsto load for each many-valued reference in the returned revision, orCDORevision.UNCHUNKEDfor all such list elements (IDs).prefetchDepth- The number of nested containment levels to load revisions for in one round trip. Use the symbolic constantsCDORevision.DEPTH_INFINITEto prefetch all contained revisions orCDORevision.DEPTH_NONEto 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 ornullis returned.- See Also:
-
getRevisionByVersion
@Deprecated InternalCDORevision getRevisionByVersion(CDOID id, CDOBranchVersion branchVersion, int referenceChunk, boolean loadOnDemand) Deprecated.Description copied from interface:CDORevisionManagerReturns therevisionwith the givenIDat the givenbranch version(branch + version), optionally demand loading it if it is not already in thecache.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 criterion for a consistent graph of multiple revisions.
- Specified by:
getRevisionByVersionin interfaceCDORevisionManager- Parameters:
referenceChunk- The number of targetIDsto load for each many-valued reference in the returned revision, orCDORevision.UNCHUNKEDfor 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 ornullis returned.- See Also:
-
getBaseRevision
@Deprecated InternalCDORevision getBaseRevision(CDORevision revision, int referenceChunk, boolean loadOnDemand) Deprecated.As of 4.37 usegetBaseRevision(CDORevision, CDORevisionManager.Request.Config).- Since:
- 4.8
-
addRevision
Deprecated.As of 4.15 useCDORevisionInterner.internRevision(CDORevision).Description copied from interface:CDORevisionCacheAdderAdds the given revision to this cache.- Specified by:
addRevisionin interfaceCDORevisionCacheAdder
-
CDORevisionInterner.internRevision(CDORevision).