Class BaseCDORevision
- java.lang.Object
-
- org.eclipse.emf.cdo.spi.common.revision.AbstractCDORevision
-
- org.eclipse.emf.cdo.spi.common.revision.BaseCDORevision
-
- All Implemented Interfaces:
CDOBranchPoint
,CDOBranchProvider
,CDOBranchVersion
,CDOIdentifiable
,CDOIDAndVersion
,CDORevisable
,CDORevision
,CDORevisionData
,CDORevisionKey
,CDOTimeProvider
,CDOVersionProvider
,CDOBranchAdjustable
,CDOReferenceAdjustable
,InternalCDORevision
public abstract class BaseCDORevision extends AbstractCDORevision
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 Extend
- This class is not intended to be subclassed by clients.
-
-
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 Modifier Constructor Description protected
BaseCDORevision(BaseCDORevision source)
BaseCDORevision(EClass eClass)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
add(EStructuralFeature feature, int index, java.lang.Object value)
void
adjustBranches(CDOBranchManager newBranchManager)
boolean
adjustReferences(CDOReferenceAdjuster referenceAdjuster)
boolean
bypassPermissionChecks(boolean on)
Enables or disables permission checking for this revision.static void
checkNoFeatureMap(EStructuralFeature feature)
Deprecated.As of 4.5feature maps
are no longer supported.void
clear(EStructuralFeature feature)
EStructuralFeature[]
clearValues()
InternalCDORevisionDelta
compare(CDORevision origin)
boolean
contains(EStructuralFeature feature, java.lang.Object value)
void
convertEObjects(CDOIDProvider idProvider)
protected abstract java.lang.Object
doGetValue(int featureIndex)
protected abstract void
doSetValue(int featureIndex, java.lang.Object value)
static java.lang.String
formatFlags(BaseCDORevision revision)
void
freeze()
java.lang.Object
get(EStructuralFeature feature, int index)
InternalCDOBranch
getBranch()
Returns the branch of this branch version.java.lang.Object
getContainerID()
int
getContainingFeatureID()
Provides the input to the calculation of the feature in the container revision that actually holds this revision.CDOID
getID()
CDOList
getListOrNull(EStructuralFeature feature)
CDOList
getOrCreateList(EStructuralFeature feature)
Same asgetOrCreateList(feature, 0)
.CDOList
getOrCreateList(EStructuralFeature feature, int size)
Returns the list that represents the passed feature, possibly creates it if needed.CDOPermission
getPermission()
CDOID
getResourceID()
java.lang.String
getResourceNodeName()
long
getRevised()
long
getTimeStamp()
Returns the time stamp of this branch point, or the fixed special time stampunspecified
if this branch point marks thehead
of a branch.protected java.lang.Object
getValue(int featureIndex)
java.lang.Object
getValue(EStructuralFeature feature)
Should never returnCDORevisionData.NIL
int
getVersion()
Returns the version number of this branch version.int
hashCode(EStructuralFeature feature)
int
indexOf(EStructuralFeature feature, java.lang.Object value)
protected abstract void
initValues(EStructuralFeature[] allPersistentFeatures)
boolean
isEmpty(EStructuralFeature feature)
boolean
isFrozen()
boolean
isListPreserving()
boolean
isUnchunked()
int
lastIndexOf(EStructuralFeature feature, java.lang.Object value)
void
merge(CDORevisionDelta delta)
java.lang.Object
move(EStructuralFeature feature, int targetIndex, int sourceIndex)
void
read(CDODataInput in)
protected void
readSystemValues(CDODataInput in)
boolean
readValues(CDODataInput in)
static java.lang.Object
remapID(java.lang.Object value, java.util.Map<CDOID,CDOID> idMappings, boolean allowUnmappedTempIDs)
java.lang.Object
remove(EStructuralFeature feature, int index)
java.lang.Object
set(EStructuralFeature feature, int index, java.lang.Object value)
void
setBranchPoint(CDOBranchPoint branchPoint)
void
setContainerID(java.lang.Object containerID)
void
setContainingFeatureID(int containingFeatureID)
void
setID(CDOID id)
void
setList(EStructuralFeature feature, InternalCDOList list)
void
setListPreserving()
The default behavior of a revision for calls to theInternalCDORevision.clear(EStructuralFeature)
andInternalCDORevision.unset(EStructuralFeature)
methods is to set the feature's value to null (discarding the value itself, a List).void
setPermission(CDOPermission permission)
void
setResourceID(CDOID resourceID)
void
setRevised(long revised)
void
setUnchunked()
protected void
setValue(int featureIndex, java.lang.Object value)
java.lang.Object
setValue(EStructuralFeature feature, java.lang.Object value)
void
setVersion(int version)
int
size(EStructuralFeature feature)
java.lang.Object[]
toArray(EStructuralFeature feature)
<T> T[]
toArray(EStructuralFeature feature, T[] array)
void
unfreeze()
void
unset(EStructuralFeature feature)
void
write(CDODataOutput out, int referenceChunk)
void
write(CDODataOutput out, int referenceChunk, CDOBranchPoint securityContext)
protected void
writeSystemValues(CDODataOutput out)
void
writeValues(CDODataOutput out, int referenceChunk)
-
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
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision
copy
-
-
-
-
Constructor Detail
-
BaseCDORevision
public BaseCDORevision(EClass eClass)
- Since:
- 3.0
-
BaseCDORevision
protected BaseCDORevision(BaseCDORevision source)
-
-
Method Detail
-
read
public void read(CDODataInput in) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 3.0
-
readSystemValues
protected void readSystemValues(CDODataInput in) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 4.0
-
readValues
public boolean readValues(CDODataInput in) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 4.3
-
write
public void write(CDODataOutput out, int referenceChunk) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 4.0
-
write
public void write(CDODataOutput out, int referenceChunk, CDOBranchPoint securityContext) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 4.1
-
writeSystemValues
protected void writeSystemValues(CDODataOutput out) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 4.0
-
writeValues
public void writeValues(CDODataOutput out, int referenceChunk) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- 4.3
-
convertEObjects
public void convertEObjects(CDOIDProvider idProvider)
- Since:
- 3.0
- See Also:
write(CDODataOutput, int)
-
getID
public CDOID getID()
-
setID
public void setID(CDOID id)
-
getBranch
public InternalCDOBranch getBranch()
Description copied from interface:CDOBranchVersion
Returns the branch of this branch version.- Since:
- 4.2
-
getTimeStamp
public long getTimeStamp()
Description copied from interface:CDOBranchPoint
Returns the time stamp of this branch point, or the fixed special time stampunspecified
if this branch point marks thehead
of a branch.- Since:
- 3.0
-
setBranchPoint
public void setBranchPoint(CDOBranchPoint branchPoint)
- Since:
- 3.0
-
getVersion
public int getVersion()
Description copied from interface:CDOBranchVersion
Returns the version number of this branch version.
-
setVersion
public void setVersion(int version)
-
getRevised
public long getRevised()
-
setRevised
public void setRevised(long revised)
-
compare
public InternalCDORevisionDelta compare(CDORevision origin)
-
merge
public void merge(CDORevisionDelta delta)
-
getResourceID
public CDOID getResourceID()
-
setResourceID
public void setResourceID(CDOID resourceID)
-
getContainerID
public java.lang.Object getContainerID()
-
setContainerID
public void setContainerID(java.lang.Object containerID)
-
getContainingFeatureID
public int getContainingFeatureID()
Description copied from interface:CDORevisionData
Provides the input to the calculation of the feature in the container revision that actually holds this revision.Usage Example:
CDORevision revision = ...; CDORevision container = Util.getRevision(revision.data().getContainerID()); int containingFeatureID = revision.data().getContainingFeatureID(); EStructuralFeature feature = containingFeatureID <= InternalEObject.EOPPOSITE_FEATURE_BASE ? container.getEClass().getEStructuralFeature(InternalEObject.EOPPOSITE_FEATURE_BASE - containingFeatureID) : ((EReference)revision.getEClass().getEStructuralFeature(containingFeatureID)).getEOpposite();
-
setContainingFeatureID
public void setContainingFeatureID(int containingFeatureID)
-
hashCode
public int hashCode(EStructuralFeature feature)
-
get
public java.lang.Object get(EStructuralFeature feature, int index)
-
contains
public boolean contains(EStructuralFeature feature, java.lang.Object value)
-
indexOf
public int indexOf(EStructuralFeature feature, java.lang.Object value)
-
lastIndexOf
public int lastIndexOf(EStructuralFeature feature, java.lang.Object value)
-
isEmpty
public boolean isEmpty(EStructuralFeature feature)
-
size
public int size(EStructuralFeature feature)
-
toArray
public java.lang.Object[] toArray(EStructuralFeature feature)
-
toArray
public <T> T[] toArray(EStructuralFeature feature, T[] array)
-
add
public void add(EStructuralFeature feature, int index, java.lang.Object value)
-
clear
public void clear(EStructuralFeature feature)
-
move
public java.lang.Object move(EStructuralFeature feature, int targetIndex, int sourceIndex)
-
remove
public java.lang.Object remove(EStructuralFeature feature, int index)
-
set
public java.lang.Object set(EStructuralFeature feature, int index, java.lang.Object value)
-
unset
public void unset(EStructuralFeature feature)
-
adjustReferences
public boolean adjustReferences(CDOReferenceAdjuster referenceAdjuster)
- Since:
- 4.0
-
adjustBranches
public void adjustBranches(CDOBranchManager newBranchManager)
- Since:
- 4.3
-
getValue
public java.lang.Object getValue(EStructuralFeature feature)
Description copied from interface:InternalCDORevision
Should never returnCDORevisionData.NIL
-
setValue
public java.lang.Object setValue(EStructuralFeature feature, java.lang.Object value)
-
getListOrNull
public CDOList getListOrNull(EStructuralFeature feature)
- Since:
- 4.7
-
getOrCreateList
public CDOList getOrCreateList(EStructuralFeature feature)
Description copied from interface:InternalCDORevision
Same asgetOrCreateList(feature, 0)
.Warning: Must be used with caution because list creation for an
unsettable
feature implies a transition from UNSET to SET!
-
getOrCreateList
public CDOList getOrCreateList(EStructuralFeature feature, int size)
Description copied from interface:InternalCDORevision
Returns the list that represents the passed feature, possibly creates it if needed.Warning: Must be used with caution because list creation for an
unsettable
feature implies a transition from UNSET to SET!size
- the initialCapacity of a new list to be created if this revision has no list so far (its size will always be 0), or -1 to skip list creation and returnnull
in this case.- See Also:
InternalCDORevision.DO_NOT_CREATE_LIST
-
setList
public void setList(EStructuralFeature feature, InternalCDOList list)
-
clearValues
public EStructuralFeature[] clearValues()
- Since:
- 4.2
-
getResourceNodeName
public java.lang.String getResourceNodeName()
- Since:
- 4.3
-
getPermission
public CDOPermission getPermission()
- Since:
- 4.1
-
setPermission
public void setPermission(CDOPermission permission)
- Since:
- 4.1
-
bypassPermissionChecks
public boolean bypassPermissionChecks(boolean on)
Description copied from interface:InternalCDORevision
Enables or disables permission checking for this revision.This method is used on the client side if the framework changes the revision on another user's behalf, e.g., during invalidation or general revision copying. It's safe to offer this method on the client side because the server is always the permission checking authority (during load or commit).
- Since:
- 4.3
-
isListPreserving
public boolean isListPreserving()
- Since:
- 4.3
-
setListPreserving
public void setListPreserving()
Description copied from interface:InternalCDORevision
The default behavior of a revision for calls to theInternalCDORevision.clear(EStructuralFeature)
andInternalCDORevision.unset(EStructuralFeature)
methods is to set the feature's value to null (discarding the value itself, a List). By calling thisInternalCDORevision.setListPreserving()
method the default behavior is changed; instead of setting the feature's value to null, theList.clear()
method is called on the feature's list instance.- Since:
- 4.3
-
freeze
public void freeze()
- Since:
- 4.1
-
unfreeze
public void unfreeze()
- Since:
- 4.11
-
isFrozen
public boolean isFrozen()
- Since:
- 4.2
-
isUnchunked
public boolean isUnchunked()
- Since:
- 4.1
-
setUnchunked
public void setUnchunked()
- Since:
- 4.1
-
getValue
protected java.lang.Object getValue(int featureIndex)
-
setValue
protected void setValue(int featureIndex, java.lang.Object value)
-
initValues
protected abstract void initValues(EStructuralFeature[] allPersistentFeatures)
-
doGetValue
protected abstract java.lang.Object doGetValue(int featureIndex)
- Since:
- 4.1
-
doSetValue
protected abstract void doSetValue(int featureIndex, java.lang.Object value)
- Since:
- 4.1
-
checkNoFeatureMap
@Deprecated public static void checkNoFeatureMap(EStructuralFeature feature)
Deprecated.As of 4.5feature maps
are no longer supported.
-
remapID
public static java.lang.Object remapID(java.lang.Object value, java.util.Map<CDOID,CDOID> idMappings, boolean allowUnmappedTempIDs)
-
formatFlags
public static java.lang.String formatFlags(BaseCDORevision revision)
- Since:
- 4.3
-
-