Class SyntheticCDORevision
- java.lang.Object
-
- org.eclipse.emf.cdo.spi.common.revision.AbstractCDORevision
-
- org.eclipse.emf.cdo.spi.common.revision.StubCDORevision
-
- org.eclipse.emf.cdo.spi.common.revision.SyntheticCDORevision
-
- All Implemented Interfaces:
CDOBranchPoint
,CDOBranchProvider
,CDOBranchVersion
,CDOIdentifiable
,CDOIDAndVersion
,CDORevisable
,CDORevision
,CDORevisionData
,CDORevisionKey
,CDOTimeProvider
,CDOVersionProvider
,CDOBranchAdjustable
,CDOReferenceAdjustable
,InternalCDORevision
- Direct Known Subclasses:
DetachedCDORevision
,PointerCDORevision
public abstract class SyntheticCDORevision extends StubCDORevision
A synthetic revision that represents the initial period of an object in abranch
when the object is still associated with a revision from one of the baseline branches. It always hasversion
zero
and can only appear in branches below themain
branch.Synthetic revisions are used for two slightly different purposes:
- For
cache
optimization. - As a persistent "detach marker" indicating that the first modification of an object in a branch is its deletion.
Instances of this marker revision are not supposed to be exposed outside of a revision
manager
. They are mainly used in the communication between a revision manager and its associated revisionloader
.- Since:
- 3.0
- Author:
- Eike Stepper
-
-
Field Summary
-
Fields inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint
INVALID_DATE, UNSPECIFIED_DATE
-
Fields inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchVersion
UNSPECIFIED_VERSION
-
Fields inherited from interface org.eclipse.emf.cdo.common.revision.CDORevision
DEPTH_INFINITE, DEPTH_NONE, FIRST_VERSION, MAIN_BRANCH_ID, PERMISSION_PROVIDER, UNCHUNKED
-
Fields inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionData
NIL
-
Fields inherited from interface org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision
DO_NOT_CREATE_LIST
-
-
Constructor Summary
Constructors Constructor Description SyntheticCDORevision(org.eclipse.emf.ecore.EClass eClass, CDOID id, CDOBranch branch)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
freeze()
InternalCDOBranch
getBranch()
Returns the branch of this branch version.CDOID
getID()
-
Methods inherited from class org.eclipse.emf.cdo.spi.common.revision.StubCDORevision
add, adjustBranches, adjustReferences, bypassPermissionChecks, clear, clearValues, compare, compareTo, contains, convertEObjects, copy, get, getContainerID, getContainingFeatureID, getListOrNull, getOrCreateList, getOrCreateList, getPermission, getResourceID, getResourceNodeName, getRevised, getTimeStamp, getValue, getVersion, hashCode, indexOf, isEmpty, isFrozen, isListPreserving, isUnchunked, lastIndexOf, merge, move, read, readValues, remove, set, setBranchPoint, setContainerID, setContainingFeatureID, setID, setList, setListPreserving, setPermission, setResourceID, setRevised, setUnchunked, setValue, setVersion, size, toArray, toArray, unset, write, write, writeValues
-
Methods inherited from class org.eclipse.emf.cdo.spi.common.revision.AbstractCDORevision
accept, accept, accept, adjustForCommit, data, equals, getAllPersistentFeatures, getClassInfo, getEClass, getFeatureIndex, getList, getList, getProperRevision, getRevisionForID, hashCode, initClassInfo, isHistorical, isReadable, isResource, isResourceFolder, isResourceNode, isValid, isValid, isWritable, revision, toString
-
-
-
-
Method Detail
-
getID
public CDOID getID()
- Specified by:
getID
in interfaceCDOIdentifiable
- Overrides:
getID
in classStubCDORevision
-
getBranch
public InternalCDOBranch getBranch()
Description copied from interface:CDOBranchVersion
Returns the branch of this branch version.- Specified by:
getBranch
in interfaceCDOBranchPoint
- Specified by:
getBranch
in interfaceCDOBranchProvider
- Specified by:
getBranch
in interfaceCDOBranchVersion
- Specified by:
getBranch
in interfaceInternalCDORevision
- Overrides:
getBranch
in classStubCDORevision
-
freeze
public void freeze()
- Specified by:
freeze
in interfaceInternalCDORevision
- Overrides:
freeze
in classStubCDORevision
-
-