Interface CDOStore
- All Superinterfaces:
InternalEObject.EStore
InternalEObject.EStore.
CDORevisions need to follow these rules:
- Keep CDOID only when the object (!isNew && !isTransient) // Only when CDOID will not changed.
- Keep EObject for external reference, new, transient and that until commit time.
It is important since these objects could changed and we need to keep a reference to EObject until the end.
It is the reason why CDOStore always call InternalCDOView.convertObjectToID(Object, boolean) with
true.
- Since:
- 4.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.
-
Field Summary
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject.EStore
NO_INDEX -
Method Summary
Modifier and TypeMethodDescriptionvoidaddUnsynced(InternalEObject eObject, EStructuralFeature feature, int index, Object value) Adds a value to a many-valued feature using the same backing-store operation asInternalEObject.EStore.add(InternalEObject, EStructuralFeature, int, Object), without acquiring the owning view's access lock.convertToCDO(InternalCDOObject object, EStructuralFeature feature, Object value) convertToEMF(EObject eObject, InternalCDORevision revision, EStructuralFeature feature, int index, Object value) intgetContainerFeatureID(InternalEObject eObject) Returns the container feature ID.default intgetContainingFeatureID(InternalEObject eObject) Deprecated.getResource(InternalEObject eObject) getView()moveUnsynced(InternalEObject eObject, EStructuralFeature feature, int target, int source) Moves a value in a many-valued feature without acquiring the view lock.removeUnsynced(InternalEObject eObject, EStructuralFeature feature, int index) Removes a value from a many-valued feature using the same backing-store operation asInternalEObject.EStore.remove(InternalEObject, EStructuralFeature, int), without acquiring the owning view's access lock.resolveProxy(InternalCDORevision revision, EStructuralFeature feature, int index, Object value) voidsetContainer(InternalEObject eObject, CDOResource newResource, InternalEObject newEContainer, int newContainerFeatureID) intsizeUnsynced(InternalEObject eObject, EStructuralFeature feature) Returns the number of values in a many-valued feature without acquiring the view lock.Methods inherited from interface org.eclipse.emf.ecore.InternalEObject.EStore
add, clear, contains, create, get, getContainer, getContainingFeature, hashCode, indexOf, isEmpty, isSet, lastIndexOf, move, remove, set, size, toArray, toArray, unset
-
Method Details
-
sizeUnsynced
Returns the number of values in a many-valued feature without acquiring the view lock.The calling thread must already hold the owning view's access lock for the complete operation that uses this result. This method exists for composite list operations that keep that lock while performing their own index validation and subsequent store operation. Call
InternalEObject.EStore.size(InternalEObject, EStructuralFeature)when no such outer lock is held.- Parameters:
eObject- the object that owns the feature.feature- the many-valued feature whose size is requested.- Returns:
- the current number of values in the feature.
- Since:
- 4.31
- See Also:
-
moveUnsynced
Moves a value in a many-valued feature without acquiring the view lock.The calling thread must already hold the owning view's access lock for the complete operation. This method performs the same backing-store update and returns the same former value as
InternalEObject.EStore.move(InternalEObject, EStructuralFeature, int, int). Call the synchronized method when no such outer lock is held.- Parameters:
eObject- the object that owns the feature.feature- the many-valued feature to update.target- the index to which the value is moved.source- the index from which the value is moved.- Returns:
- the value formerly at
source. - Since:
- 4.31
- See Also:
-
removeUnsynced
Removes a value from a many-valued feature using the same backing-store operation asInternalEObject.EStore.remove(InternalEObject, EStructuralFeature, int), without acquiring the owning view's access lock.The calling thread must already hold that lock for the complete operation. Call the synchronized method when no such outer lock is held.
- Parameters:
eObject- the object that owns the feature.feature- the many-valued feature to update.index- the index of the value to remove.- Returns:
- the removed value.
- Since:
- 4.31
- See Also:
-
addUnsynced
Adds a value to a many-valued feature using the same backing-store operation asInternalEObject.EStore.add(InternalEObject, EStructuralFeature, int, Object), without acquiring the owning view's access lock.The calling thread must already hold that lock for the complete operation. The synchronized
add(...)method remains the independently safe EStore entry point and must be used when no such outer lock is held.- Parameters:
eObject- the object that owns the feature.feature- the many-valued feature to update.index- the index at which the value is added.value- the value to add.- Since:
- 4.31
- See Also:
-
getView
InternalCDOView getView()- Since:
- 2.0
-
setContainer
void setContainer(InternalEObject eObject, CDOResource newResource, InternalEObject newEContainer, int newContainerFeatureID) - Since:
- 2.0
-
getContainerFeatureID
Returns the container feature ID. If the container isn't a navigable feature, this will be a negative ID indicating the inverse of the containment feature's ID.- Returns:
- the container feature ID.
- Since:
- 4.29
- See Also:
-
getResource
- Since:
- 2.0
-
resolveProxy
Object resolveProxy(InternalCDORevision revision, EStructuralFeature feature, int index, Object value) - Since:
- 2.0
-
convertToCDO
- Since:
- 3.0
-
convertToEMF
Object convertToEMF(EObject eObject, InternalCDORevision revision, EStructuralFeature feature, int index, Object value) - Since:
- 2.0
-
getContainingFeatureID
Deprecated.As of 4.29, replaced bygetContainerFeatureID(InternalEObject).
-
getContainerFeatureID(InternalEObject).