Package org.eclipse.emf.spi.cdo

## Interface CDOStore

- All Superinterfaces:
    `org.eclipse.emf.ecore.InternalEObject.EStore`

      public interface CDOStore
      extends org.eclipse.emf.ecore.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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `convertToCDO​(InternalCDOObject object, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.Object value)` |
    `java.lang.Object` | `convertToEMF​(org.eclipse.emf.ecore.EObject eObject, InternalCDORevision revision, org.eclipse.emf.ecore.EStructuralFeature feature, int index, java.lang.Object value)` |
    `int` | `getContainingFeatureID​(org.eclipse.emf.ecore.InternalEObject eObject)` |
    `org.eclipse.emf.ecore.InternalEObject` | `getResource​(org.eclipse.emf.ecore.InternalEObject eObject)` |
    `InternalCDOView` | `getView()` |
    `java.lang.Object` | `resolveProxy​(InternalCDORevision revision, org.eclipse.emf.ecore.EStructuralFeature feature, int index, java.lang.Object value)` |
    `void` | `setContainer​(org.eclipse.emf.ecore.InternalEObject eObject, CDOResource newResource, org.eclipse.emf.ecore.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 Detail

    - #### getView

          InternalCDOView getView()

      Since:
        2.0

    - #### setContainer

          void setContainer​(org.eclipse.emf.ecore.InternalEObject eObject,
                            CDOResource newResource,
                            org.eclipse.emf.ecore.InternalEObject newEContainer,
                            int newContainerFeatureID)

      Since:
        2.0

    - #### getContainingFeatureID

          int getContainingFeatureID​(org.eclipse.emf.ecore.InternalEObject eObject)

    - #### getResource

          org.eclipse.emf.ecore.InternalEObject getResource​(org.eclipse.emf.ecore.InternalEObject eObject)

      Since:
        2.0

    - #### resolveProxy

          java.lang.Object resolveProxy​(InternalCDORevision revision,
                                        org.eclipse.emf.ecore.EStructuralFeature feature,
                                        int index,
                                        java.lang.Object value)

      Since:
        2.0

    - #### convertToCDO

          java.lang.Object convertToCDO​(InternalCDOObject object,
                                        org.eclipse.emf.ecore.EStructuralFeature feature,
                                        java.lang.Object value)

      Since:
        3.0

    - #### convertToEMF

          java.lang.Object convertToEMF​(org.eclipse.emf.ecore.EObject eObject,
                                        InternalCDORevision revision,
                                        org.eclipse.emf.ecore.EStructuralFeature feature,
                                        int index,
                                        java.lang.Object value)

      Since:
        2.0