Package org.eclipse.emf.spi.cdo

# Interface CDOStore

All Superinterfaces:
  `InternalEObject.EStore`

public interface CDOStore extends InternalEObject.EStore
A CDO specific version of an `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 Type
Method
Description
`Object`
`convertToCDO(InternalCDOObject object, EStructuralFeature feature, Object value)`
`Object`
`convertToEMF(EObject eObject, InternalCDORevision revision, EStructuralFeature feature, int index, Object value)`
`int`
`getContainerFeatureID(InternalEObject eObject)`
Returns the container feature ID.
`default int`
`getContainingFeatureID(InternalEObject eObject)`
Deprecated.
As of 4.29, replaced by `getContainerFeatureID(InternalEObject)`.
`InternalEObject`
`getResource(InternalEObject eObject)`
`InternalCDOView`
`getView()`
`Object`
`resolveProxy(InternalCDORevision revision, EStructuralFeature feature, int index, Object value)`
`void`
`setContainer(InternalEObject eObject, CDOResource newResource, InternalEObject newEContainer, int newContainerFeatureID)`

### 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

### getView

InternalCDOView getView()

Since:
  2.0

### setContainer

void setContainer(InternalEObject eObject, CDOResource newResource, InternalEObject newEContainer, int newContainerFeatureID)

Since:
  2.0

### getContainerFeatureID

int getContainerFeatureID(InternalEObject eObject)
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:
  - `EObject.eContainmentFeature()`
  - `InternalEObject.EOPPOSITE_FEATURE_BASE`

### getResource

InternalEObject getResource(InternalEObject eObject)

Since:
  2.0

### resolveProxy

Object resolveProxy(InternalCDORevision revision, EStructuralFeature feature, int index, Object value)

Since:
  2.0

### convertToCDO

Object convertToCDO(InternalCDOObject object, EStructuralFeature feature, Object value)

Since:
  3.0

### convertToEMF

Object convertToEMF(EObject eObject, InternalCDORevision revision, EStructuralFeature feature, int index, Object value)

Since:
  2.0

### getContainingFeatureID

@Deprecated default int getContainingFeatureID(InternalEObject eObject)
Deprecated.
As of 4.29, replaced by `getContainerFeatureID(InternalEObject)`.