public abstract class DelegatingCDORevision extends Object implements InternalCDORevision
DEPTH_INFINITE, DEPTH_NONE, FIRST_VERSION, MAIN_BRANCH_ID, PERMISSION_PROVIDER, UNCHUNKED
INVALID_DATE, UNSPECIFIED_DATE
UNSPECIFIED_VERSION
NIL
Constructor and Description |
---|
DelegatingCDORevision() |
public abstract InternalCDORevision getDelegate()
public InternalCDORevision getRevisionForID(CDOID id)
getRevisionForID
in interface InternalCDORevision
public InternalCDORevision getProperRevision()
getProperRevision
in interface InternalCDORevision
public boolean adjustReferences(CDOReferenceAdjuster referenceAdjuster)
adjustReferences
in interface CDOReferenceAdjustable
public void adjustBranches(CDOBranchManager newBranchManager)
adjustBranches
in interface CDOBranchAdjustable
public long getTimeStamp()
CDOBranchPoint
unspecified
if this branch point marks the head
of a branch.getTimeStamp
in interface CDOBranchPoint
getTimeStamp
in interface CDOTimeProvider
public InternalCDOBranch getBranch()
CDOBranchVersion
getBranch
in interface CDOBranchPoint
getBranch
in interface CDOBranchProvider
getBranch
in interface CDOBranchVersion
getBranch
in interface InternalCDORevision
public boolean isHistorical()
CDORevision
true
exactly if CDOBranchPoint.getTimeStamp()
does not return CDOBranchPoint.UNSPECIFIED_DATE
,
false
otherwise.isHistorical
in interface CDORevision
public CDOID getID()
getID
in interface CDOIdentifiable
public CDORevision revision()
revision
in interface CDORevisionData
public CDOID getResourceID()
getResourceID
in interface CDORevisionData
public Object getContainerID()
getContainerID
in interface CDORevisionData
public int getContainingFeatureID()
CDORevisionData
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();
getContainingFeatureID
in interface CDORevisionData
BasicEObjectImpl.eContainingFeature()
,
CDORevisionData.getContainerID()
public Object get(EStructuralFeature feature, int index)
get
in interface CDORevisionData
public EClass getEClass()
getEClass
in interface CDORevision
public int getVersion()
CDOBranchVersion
getVersion
in interface CDOBranchVersion
getVersion
in interface CDOIDAndVersion
getVersion
in interface CDOVersionProvider
public int size(EStructuralFeature feature)
size
in interface CDORevisionData
public long getRevised()
getRevised
in interface CDORevisable
public boolean isEmpty(EStructuralFeature feature)
isEmpty
in interface CDORevisionData
public boolean isValid(long timeStamp)
isValid
in interface CDORevision
public boolean isValid(CDOBranchPoint branchPoint)
isValid
in interface CDORevision
public InternalCDORevision copy()
copy
in interface CDORevision
copy
in interface InternalCDORevision
public InternalCDOClassInfo getClassInfo()
getClassInfo
in interface CDORevision
getClassInfo
in interface InternalCDORevision
public void setID(CDOID id)
setID
in interface InternalCDORevision
public boolean contains(EStructuralFeature feature, Object value)
contains
in interface CDORevisionData
public boolean isResourceNode()
isResourceNode
in interface CDORevision
public void setVersion(int version)
setVersion
in interface InternalCDORevision
public boolean isResourceFolder()
isResourceFolder
in interface CDORevision
public int indexOf(EStructuralFeature feature, Object value)
indexOf
in interface CDORevisionData
public boolean isResource()
isResource
in interface CDORevision
public void setBranchPoint(CDOBranchPoint branchPoint)
setBranchPoint
in interface InternalCDORevision
public void adjustForCommit(CDOBranch branch, long timeStamp)
adjustForCommit
in interface InternalCDORevision
public CDORevisionData data()
data
in interface CDORevision
public int lastIndexOf(EStructuralFeature feature, Object value)
lastIndexOf
in interface CDORevisionData
public void setRevised(long revised)
setRevised
in interface InternalCDORevision
public InternalCDORevisionDelta compare(CDORevision origin)
compare
in interface CDORevision
compare
in interface InternalCDORevision
public void setResourceID(CDOID resourceID)
setResourceID
in interface InternalCDORevision
public void merge(CDORevisionDelta delta)
merge
in interface CDORevision
public <T> T[] toArray(EStructuralFeature feature, T[] array)
toArray
in interface CDORevisionData
public void setContainerID(Object containerID)
setContainerID
in interface InternalCDORevision
public void setContainingFeatureID(int containingFeatureID)
setContainingFeatureID
in interface InternalCDORevision
public Object[] toArray(EStructuralFeature feature)
toArray
in interface CDORevisionData
public void add(EStructuralFeature feature, int index, Object value)
add
in interface InternalCDORevision
public int hashCode(EStructuralFeature feature)
hashCode
in interface CDORevisionData
public void clear(EStructuralFeature feature)
clear
in interface InternalCDORevision
public Object move(EStructuralFeature feature, int targetIndex, int sourceIndex)
move
in interface InternalCDORevision
public Object remove(EStructuralFeature feature, int index)
remove
in interface InternalCDORevision
public Object set(EStructuralFeature feature, int index, Object value)
set
in interface InternalCDORevision
public void unset(EStructuralFeature feature)
unset
in interface InternalCDORevision
public Object getValue(EStructuralFeature feature)
InternalCDORevision
CDORevisionData.NIL
getValue
in interface InternalCDORevision
public Object setValue(EStructuralFeature feature, Object value)
setValue
in interface InternalCDORevision
public void setList(EStructuralFeature feature, InternalCDOList list)
setList
in interface InternalCDORevision
public CDOList getList(EStructuralFeature feature)
getList
in interface InternalCDORevision
public CDOList getList(EStructuralFeature feature, int size)
getList
in interface InternalCDORevision
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 return null
in this case.public void read(CDODataInput in) throws IOException
read
in interface InternalCDORevision
IOException
public boolean readValues(CDODataInput in) throws IOException
readValues
in interface InternalCDORevision
IOException
public void write(CDODataOutput out, int referenceChunk) throws IOException
write
in interface InternalCDORevision
IOException
public void write(CDODataOutput out, int referenceChunk, CDOBranchPoint securityContext) throws IOException
write
in interface InternalCDORevision
IOException
public void writeValues(CDODataOutput out, int referenceChunk) throws IOException
writeValues
in interface InternalCDORevision
IOException
public void convertEObjects(CDOIDProvider oidProvider)
convertEObjects
in interface InternalCDORevision
public EStructuralFeature[] clearValues()
clearValues
in interface InternalCDORevision
public String getResourceNodeName()
getResourceNodeName
in interface InternalCDORevision
public CDOPermission getPermission()
getPermission
in interface CDORevision
public void setPermission(CDOPermission permission)
setPermission
in interface InternalCDORevision
public boolean isReadable()
isReadable
in interface CDORevision
public boolean isWritable()
isWritable
in interface CDORevision
public void accept(CDORevisionValueVisitor visitor)
accept
in interface CDORevisionData
public void accept(CDORevisionValueVisitor visitor, Predicate<EStructuralFeature> filter)
accept
in interface CDORevisionData
public boolean bypassPermissionChecks(boolean on)
InternalCDORevision
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).
bypassPermissionChecks
in interface InternalCDORevision
public boolean isListPreserving()
isListPreserving
in interface InternalCDORevision
public void setListPreserving()
InternalCDORevision
InternalCDORevision.clear(EStructuralFeature)
and
InternalCDORevision.unset(EStructuralFeature)
methods is to set the feature's value to null (discarding the
value itself, a List). By calling this InternalCDORevision.setListPreserving()
method the default behavior
is changed; instead of setting the feature's value to null, the List.clear()
method is
called on the feature's list instance.setListPreserving
in interface InternalCDORevision
public void freeze()
freeze
in interface InternalCDORevision
public boolean isFrozen()
isFrozen
in interface InternalCDORevision
public boolean isUnchunked()
isUnchunked
in interface InternalCDORevision
public void setUnchunked()
setUnchunked
in interface InternalCDORevision
Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html