Class DelegatingCDORevision
- java.lang.Object
-
- org.eclipse.emf.cdo.spi.common.revision.DelegatingCDORevision
-
- All Implemented Interfaces:
CDOBranchPoint
,CDOBranchProvider
,CDOBranchVersion
,CDOIdentifiable
,CDOIDAndVersion
,CDORevisable
,CDORevision
,CDORevisionData
,CDORevisionKey
,CDOTimeProvider
,CDOVersionProvider
,CDOBranchAdjustable
,CDOReferenceAdjustable
,InternalCDORevision
public abstract class DelegatingCDORevision extends java.lang.Object implements InternalCDORevision
If the meaning of this type isn't clear, there really should be more of a description here...- 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 DelegatingCDORevision()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
accept(CDORevisionValueVisitor visitor)
void
accept(CDORevisionValueVisitor visitor, java.util.function.Predicate<org.eclipse.emf.ecore.EStructuralFeature> filter)
void
accept(CDORevisionValueVisitor visitor, org.eclipse.net4j.util.Predicate<org.eclipse.emf.ecore.EStructuralFeature> filter)
Deprecated.void
add(org.eclipse.emf.ecore.EStructuralFeature feature, int index, java.lang.Object value)
void
adjustBranches(CDOBranchManager newBranchManager)
void
adjustForCommit(CDOBranch branch, long timeStamp)
boolean
adjustReferences(CDOReferenceAdjuster referenceAdjuster)
boolean
bypassPermissionChecks(boolean on)
Enables or disables permission checking for this revision.void
clear(org.eclipse.emf.ecore.EStructuralFeature feature)
org.eclipse.emf.ecore.EStructuralFeature[]
clearValues()
InternalCDORevisionDelta
compare(CDORevision origin)
boolean
contains(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
void
convertEObjects(CDOIDProvider oidProvider)
InternalCDORevision
copy()
CDORevisionData
data()
void
freeze()
java.lang.Object
get(org.eclipse.emf.ecore.EStructuralFeature feature, int index)
InternalCDOBranch
getBranch()
Returns the branch of this branch version.InternalCDOClassInfo
getClassInfo()
java.lang.Object
getContainerID()
int
getContainingFeatureID()
Provides the input to the calculation of the feature in the container revision that actually holds this revision.abstract InternalCDORevision
getDelegate()
org.eclipse.emf.ecore.EClass
getEClass()
CDOID
getID()
CDOList
getList(org.eclipse.emf.ecore.EStructuralFeature feature)
Deprecated.CDOList
getList(org.eclipse.emf.ecore.EStructuralFeature feature, int initialCapacity)
Deprecated.CDOList
getListOrNull(org.eclipse.emf.ecore.EStructuralFeature feature)
CDOList
getOrCreateList(org.eclipse.emf.ecore.EStructuralFeature feature)
Same asgetOrCreateList(feature, 0)
.CDOList
getOrCreateList(org.eclipse.emf.ecore.EStructuralFeature feature, int size)
Returns the list that represents the passed feature, possibly creates it if needed.CDOPermission
getPermission()
InternalCDORevision
getProperRevision()
CDOID
getResourceID()
java.lang.String
getResourceNodeName()
long
getRevised()
InternalCDORevision
getRevisionForID(CDOID id)
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.java.lang.Object
getValue(org.eclipse.emf.ecore.EStructuralFeature feature)
Should never returnCDORevisionData.NIL
int
getVersion()
Returns the version number of this branch version.int
hashCode(org.eclipse.emf.ecore.EStructuralFeature feature)
int
indexOf(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
boolean
isEmpty(org.eclipse.emf.ecore.EStructuralFeature feature)
boolean
isFrozen()
boolean
isHistorical()
Returnstrue
exactly ifCDOBranchPoint.getTimeStamp()
does not returnCDOBranchPoint.UNSPECIFIED_DATE
,false
otherwise.boolean
isListPreserving()
boolean
isReadable()
boolean
isResource()
boolean
isResourceFolder()
boolean
isResourceNode()
boolean
isUnchunked()
boolean
isValid(long timeStamp)
boolean
isValid(CDOBranchPoint branchPoint)
boolean
isWritable()
int
lastIndexOf(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
void
merge(CDORevisionDelta delta)
java.lang.Object
move(org.eclipse.emf.ecore.EStructuralFeature feature, int targetIndex, int sourceIndex)
void
read(CDODataInput in)
boolean
readValues(CDODataInput in)
java.lang.Object
remove(org.eclipse.emf.ecore.EStructuralFeature feature, int index)
CDORevision
revision()
java.lang.Object
set(org.eclipse.emf.ecore.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(org.eclipse.emf.ecore.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()
java.lang.Object
setValue(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
void
setVersion(int version)
int
size(org.eclipse.emf.ecore.EStructuralFeature feature)
java.lang.Object[]
toArray(org.eclipse.emf.ecore.EStructuralFeature feature)
<T> T[]
toArray(org.eclipse.emf.ecore.EStructuralFeature feature, T[] array)
void
unset(org.eclipse.emf.ecore.EStructuralFeature feature)
void
write(CDODataOutput out, int referenceChunk)
void
write(CDODataOutput out, int referenceChunk, CDOBranchPoint securityContext)
void
writeValues(CDODataOutput out, int referenceChunk)
-
-
-
Method Detail
-
getDelegate
public abstract InternalCDORevision getDelegate()
-
getRevisionForID
public InternalCDORevision getRevisionForID(CDOID id)
- Specified by:
getRevisionForID
in interfaceInternalCDORevision
- Since:
- 4.2
-
getProperRevision
public InternalCDORevision getProperRevision()
- Specified by:
getProperRevision
in interfaceInternalCDORevision
- Since:
- 4.2
-
adjustReferences
public boolean adjustReferences(CDOReferenceAdjuster referenceAdjuster)
- Specified by:
adjustReferences
in interfaceCDOReferenceAdjustable
- Since:
- 4.0
-
adjustBranches
public void adjustBranches(CDOBranchManager newBranchManager)
- Specified by:
adjustBranches
in interfaceCDOBranchAdjustable
- Since:
- 4.3
-
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.- Specified by:
getTimeStamp
in interfaceCDOBranchPoint
- Specified by:
getTimeStamp
in interfaceCDOTimeProvider
-
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
- Since:
- 4.2
-
isHistorical
public boolean isHistorical()
Description copied from interface:CDORevision
Returnstrue
exactly ifCDOBranchPoint.getTimeStamp()
does not returnCDOBranchPoint.UNSPECIFIED_DATE
,false
otherwise.- Specified by:
isHistorical
in interfaceCDORevision
-
getID
public CDOID getID()
- Specified by:
getID
in interfaceCDOIdentifiable
-
revision
public CDORevision revision()
- Specified by:
revision
in interfaceCDORevisionData
-
getResourceID
public CDOID getResourceID()
- Specified by:
getResourceID
in interfaceCDORevisionData
-
getContainerID
public java.lang.Object getContainerID()
- Specified by:
getContainerID
in interfaceCDORevisionData
-
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();
- Specified by:
getContainingFeatureID
in interfaceCDORevisionData
- See Also:
BasicEObjectImpl.eContainingFeature()
,CDORevisionData.getContainerID()
-
get
public java.lang.Object get(org.eclipse.emf.ecore.EStructuralFeature feature, int index)
- Specified by:
get
in interfaceCDORevisionData
-
getEClass
public org.eclipse.emf.ecore.EClass getEClass()
- Specified by:
getEClass
in interfaceCDORevision
-
getVersion
public int getVersion()
Description copied from interface:CDOBranchVersion
Returns the version number of this branch version.- Specified by:
getVersion
in interfaceCDOBranchVersion
- Specified by:
getVersion
in interfaceCDOIDAndVersion
- Specified by:
getVersion
in interfaceCDOVersionProvider
-
size
public int size(org.eclipse.emf.ecore.EStructuralFeature feature)
- Specified by:
size
in interfaceCDORevisionData
-
getRevised
public long getRevised()
- Specified by:
getRevised
in interfaceCDORevisable
-
isEmpty
public boolean isEmpty(org.eclipse.emf.ecore.EStructuralFeature feature)
- Specified by:
isEmpty
in interfaceCDORevisionData
-
isValid
public boolean isValid(long timeStamp)
- Specified by:
isValid
in interfaceCDORevision
-
isValid
public boolean isValid(CDOBranchPoint branchPoint)
- Specified by:
isValid
in interfaceCDORevision
- Since:
- 4.0
-
copy
public InternalCDORevision copy()
- Specified by:
copy
in interfaceCDORevision
- Specified by:
copy
in interfaceInternalCDORevision
- Since:
- 4.0
-
getClassInfo
public InternalCDOClassInfo getClassInfo()
- Specified by:
getClassInfo
in interfaceCDORevision
- Specified by:
getClassInfo
in interfaceInternalCDORevision
- Since:
- 4.2
-
setID
public void setID(CDOID id)
- Specified by:
setID
in interfaceInternalCDORevision
-
contains
public boolean contains(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
- Specified by:
contains
in interfaceCDORevisionData
-
isResourceNode
public boolean isResourceNode()
- Specified by:
isResourceNode
in interfaceCDORevision
-
setVersion
public void setVersion(int version)
- Specified by:
setVersion
in interfaceInternalCDORevision
-
isResourceFolder
public boolean isResourceFolder()
- Specified by:
isResourceFolder
in interfaceCDORevision
-
indexOf
public int indexOf(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
- Specified by:
indexOf
in interfaceCDORevisionData
-
isResource
public boolean isResource()
- Specified by:
isResource
in interfaceCDORevision
-
setBranchPoint
public void setBranchPoint(CDOBranchPoint branchPoint)
- Specified by:
setBranchPoint
in interfaceInternalCDORevision
-
adjustForCommit
public void adjustForCommit(CDOBranch branch, long timeStamp)
- Specified by:
adjustForCommit
in interfaceInternalCDORevision
-
data
public CDORevisionData data()
- Specified by:
data
in interfaceCDORevision
-
lastIndexOf
public int lastIndexOf(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
- Specified by:
lastIndexOf
in interfaceCDORevisionData
-
setRevised
public void setRevised(long revised)
- Specified by:
setRevised
in interfaceInternalCDORevision
-
compare
public InternalCDORevisionDelta compare(CDORevision origin)
- Specified by:
compare
in interfaceCDORevision
- Specified by:
compare
in interfaceInternalCDORevision
-
setResourceID
public void setResourceID(CDOID resourceID)
- Specified by:
setResourceID
in interfaceInternalCDORevision
-
merge
public void merge(CDORevisionDelta delta)
- Specified by:
merge
in interfaceCDORevision
-
toArray
public <T> T[] toArray(org.eclipse.emf.ecore.EStructuralFeature feature, T[] array)
- Specified by:
toArray
in interfaceCDORevisionData
-
setContainerID
public void setContainerID(java.lang.Object containerID)
- Specified by:
setContainerID
in interfaceInternalCDORevision
-
setContainingFeatureID
public void setContainingFeatureID(int containingFeatureID)
- Specified by:
setContainingFeatureID
in interfaceInternalCDORevision
-
toArray
public java.lang.Object[] toArray(org.eclipse.emf.ecore.EStructuralFeature feature)
- Specified by:
toArray
in interfaceCDORevisionData
-
add
public void add(org.eclipse.emf.ecore.EStructuralFeature feature, int index, java.lang.Object value)
- Specified by:
add
in interfaceInternalCDORevision
-
hashCode
public int hashCode(org.eclipse.emf.ecore.EStructuralFeature feature)
- Specified by:
hashCode
in interfaceCDORevisionData
-
clear
public void clear(org.eclipse.emf.ecore.EStructuralFeature feature)
- Specified by:
clear
in interfaceInternalCDORevision
-
move
public java.lang.Object move(org.eclipse.emf.ecore.EStructuralFeature feature, int targetIndex, int sourceIndex)
- Specified by:
move
in interfaceInternalCDORevision
-
remove
public java.lang.Object remove(org.eclipse.emf.ecore.EStructuralFeature feature, int index)
- Specified by:
remove
in interfaceInternalCDORevision
-
set
public java.lang.Object set(org.eclipse.emf.ecore.EStructuralFeature feature, int index, java.lang.Object value)
- Specified by:
set
in interfaceInternalCDORevision
-
unset
public void unset(org.eclipse.emf.ecore.EStructuralFeature feature)
- Specified by:
unset
in interfaceInternalCDORevision
-
getValue
public java.lang.Object getValue(org.eclipse.emf.ecore.EStructuralFeature feature)
Description copied from interface:InternalCDORevision
Should never returnCDORevisionData.NIL
- Specified by:
getValue
in interfaceInternalCDORevision
-
setValue
public java.lang.Object setValue(org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)
- Specified by:
setValue
in interfaceInternalCDORevision
-
setList
public void setList(org.eclipse.emf.ecore.EStructuralFeature feature, InternalCDOList list)
- Specified by:
setList
in interfaceInternalCDORevision
-
getList
@Deprecated public CDOList getList(org.eclipse.emf.ecore.EStructuralFeature feature)
Deprecated.- Specified by:
getList
in interfaceInternalCDORevision
-
getList
@Deprecated public CDOList getList(org.eclipse.emf.ecore.EStructuralFeature feature, int initialCapacity)
Deprecated.- Specified by:
getList
in interfaceInternalCDORevision
-
getListOrNull
public CDOList getListOrNull(org.eclipse.emf.ecore.EStructuralFeature feature)
- Specified by:
getListOrNull
in interfaceInternalCDORevision
-
getOrCreateList
public CDOList getOrCreateList(org.eclipse.emf.ecore.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!- Specified by:
getOrCreateList
in interfaceInternalCDORevision
-
getOrCreateList
public CDOList getOrCreateList(org.eclipse.emf.ecore.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!- Specified by:
getOrCreateList
in interfaceInternalCDORevision
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
-
read
public void read(CDODataInput in) throws java.io.IOException
- Specified by:
read
in interfaceInternalCDORevision
- Throws:
java.io.IOException
-
readValues
public boolean readValues(CDODataInput in) throws java.io.IOException
- Specified by:
readValues
in interfaceInternalCDORevision
- Throws:
java.io.IOException
- Since:
- 4.3
-
write
public void write(CDODataOutput out, int referenceChunk) throws java.io.IOException
- Specified by:
write
in interfaceInternalCDORevision
- Throws:
java.io.IOException
-
write
public void write(CDODataOutput out, int referenceChunk, CDOBranchPoint securityContext) throws java.io.IOException
- Specified by:
write
in interfaceInternalCDORevision
- Throws:
java.io.IOException
- Since:
- 4.1
-
writeValues
public void writeValues(CDODataOutput out, int referenceChunk) throws java.io.IOException
- Specified by:
writeValues
in interfaceInternalCDORevision
- Throws:
java.io.IOException
- Since:
- 4.3
-
convertEObjects
public void convertEObjects(CDOIDProvider oidProvider)
- Specified by:
convertEObjects
in interfaceInternalCDORevision
-
clearValues
public org.eclipse.emf.ecore.EStructuralFeature[] clearValues()
- Specified by:
clearValues
in interfaceInternalCDORevision
- Since:
- 4.2
-
getResourceNodeName
public java.lang.String getResourceNodeName()
- Specified by:
getResourceNodeName
in interfaceInternalCDORevision
- Since:
- 4.3
-
getPermission
public CDOPermission getPermission()
- Specified by:
getPermission
in interfaceCDORevision
- Since:
- 4.1
-
setPermission
public void setPermission(CDOPermission permission)
- Specified by:
setPermission
in interfaceInternalCDORevision
- Since:
- 4.1
-
isReadable
public boolean isReadable()
- Specified by:
isReadable
in interfaceCDORevision
- Since:
- 4.1
-
isWritable
public boolean isWritable()
- Specified by:
isWritable
in interfaceCDORevision
- Since:
- 4.1
-
accept
public void accept(CDORevisionValueVisitor visitor)
- Specified by:
accept
in interfaceCDORevisionData
- Since:
- 4.2
-
accept
@Deprecated public void accept(CDORevisionValueVisitor visitor, org.eclipse.net4j.util.Predicate<org.eclipse.emf.ecore.EStructuralFeature> filter)
Deprecated.- Specified by:
accept
in interfaceCDORevisionData
- Since:
- 4.2
-
accept
public void accept(CDORevisionValueVisitor visitor, java.util.function.Predicate<org.eclipse.emf.ecore.EStructuralFeature> filter)
- Specified by:
accept
in interfaceCDORevisionData
- Since:
- 4.2
-
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).
- Specified by:
bypassPermissionChecks
in interfaceInternalCDORevision
- Since:
- 4.3
-
isListPreserving
public boolean isListPreserving()
- Specified by:
isListPreserving
in interfaceInternalCDORevision
- 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.- Specified by:
setListPreserving
in interfaceInternalCDORevision
- Since:
- 4.3
-
freeze
public void freeze()
- Specified by:
freeze
in interfaceInternalCDORevision
- Since:
- 4.0
-
isFrozen
public boolean isFrozen()
- Specified by:
isFrozen
in interfaceInternalCDORevision
- Since:
- 4.2
-
isUnchunked
public boolean isUnchunked()
- Specified by:
isUnchunked
in interfaceInternalCDORevision
- Since:
- 4.1
-
setUnchunked
public void setUnchunked()
- Specified by:
setUnchunked
in interfaceInternalCDORevision
- Since:
- 4.1
-
-