Package org.eclipse.emf.cdo.spi.common.model

## Interface InternalCDOClassInfo

- All Superinterfaces:
    `org.eclipse.emf.common.notify.Adapter`, `CDOClassInfo`

      public interface InternalCDOClassInfo
      extends CDOClassInfo

  If the meaning of this type isn't clear, there really should be more of a description here...
  Since:
    4.2
  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.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `InternalCDOClassInfo.PersistenceFilter` | Encapsulation of a rule for filtering the persistent values of a feature in some model element.

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter

      `org.eclipse.emf.common.notify.Adapter.Internal`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `NO_SLOT` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InternalCDOClassInfo.PersistenceFilter` | `getPersistenceFilter​(org.eclipse.emf.ecore.EStructuralFeature feature)` | Obtains a rule that filters/transforms the persist values of the given `feature`.
    `int` | `getPersistentFeatureIndex​(int featureID)` | Returns the index of the specified `feature` in the `CDORevisionImpl.values` array, never `NO_SLOT`.
    `int` | `getPersistentFeatureIndex​(org.eclipse.emf.ecore.EStructuralFeature feature)` | Returns the index of the specified `feature` in the `CDORevisionImpl.values` array, never `NO_SLOT`.
    `InternalCDORevision` | `getRevisionForID​(CDOID id)` |
    `int` | `getSettingsFeatureCount()` | Returns the number of `features` whose values are always stored in the `CDOObjectImpl.eSettings` array, whether an object is in `CDOState.TRANSIENT` or not.
    `int` | `getSettingsFeatureIndex​(int featureID)` | Returns the index of the specified `feature` in the `CDOObjectImpl.eSettings` array, or `NO_SLOT` if the feature is `non-transient` or `single-valued`.
    `int` | `getTransientFeatureCount()` | Returns the number of `features` whose values are additionally stored in the `CDOObjectImpl.eSettings` array, if an object is in `CDOState.TRANSIENT`.
    `int` | `getTransientFeatureIndex​(int featureID)` | Returns the index of the specified `feature` in the `CDOObjectImpl.eSettings` array, or `NO_SLOT` if the feature is `transient` or `many-valued`
    `int` | `getTransientFeatureIndex​(org.eclipse.emf.ecore.EStructuralFeature feature)` |

    - ### Methods inherited from interface org.eclipse.emf.common.notify.Adapter

      `getTarget, isAdapterForType, notifyChanged, setTarget`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.model.CDOClassInfo

      `getAllPersistentContainments, getAllPersistentFeatures, getAllPersistentMapFeatures, getAllPersistentReferences, getEClass, getFeatureIndex, getFeatureIndex, hasPersistentFeatureMaps, hasPersistentOpposite, isPersistent, isPersistent, isResource, isResourceFolder, isResourceNode`

- - ### Field Detail

    - #### NO_SLOT

          static final int NO_SLOT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getRevisionForID

          InternalCDORevision getRevisionForID​(CDOID id)

    - #### getPersistentFeatureIndex

          int getPersistentFeatureIndex​(org.eclipse.emf.ecore.EStructuralFeature feature)
                                 throws java.lang.IllegalArgumentException

      Returns the index of the specified `feature` in the `CDORevisionImpl.values` array, never `NO_SLOT`.
      Throws:
        `java.lang.IllegalArgumentException` - if the specified feature is not `persistent`.
      See Also:
        `getPersistentFeatureIndex(int)`

    - #### getPersistentFeatureIndex

          int getPersistentFeatureIndex​(int featureID)
                                 throws java.lang.IllegalArgumentException

      Returns the index of the specified `feature` in the `CDORevisionImpl.values` array, never `NO_SLOT`.
      Throws:
        `java.lang.IllegalArgumentException` - if the specified feature is not `persistent`.
      See Also:
        `getPersistentFeatureIndex(EStructuralFeature)`

    - #### getSettingsFeatureCount

          int getSettingsFeatureCount()

      Returns the number of `features` whose values are always stored in the `CDOObjectImpl.eSettings` array, whether an object is in `CDOState.TRANSIENT` or not.

      These are the `transient` and/or `many-valued` features.

      See Also:
        `getSettingsFeatureIndex(int)`

    - #### getSettingsFeatureIndex

          int getSettingsFeatureIndex​(int featureID)

      Returns the index of the specified `feature` in the `CDOObjectImpl.eSettings` array, or `NO_SLOT` if the feature is `non-transient` or `single-valued`.
      See Also:
        `getSettingsFeatureCount()`

    - #### getTransientFeatureCount

          int getTransientFeatureCount()

      Returns the number of `features` whose values are additionally stored in the `CDOObjectImpl.eSettings` array, if an object is in `CDOState.TRANSIENT`.

      These are the `non-transient` and/or `single-valued` features.

      See Also:
        `getTransientFeatureIndex(int)`

    - #### getTransientFeatureIndex

          int getTransientFeatureIndex​(int featureID)

      Returns the index of the specified `feature` in the `CDOObjectImpl.eSettings` array, or `NO_SLOT` if the feature is `transient` or `many-valued`
      See Also:
        `getTransientFeatureCount()`

    - #### getTransientFeatureIndex

          int getTransientFeatureIndex​(org.eclipse.emf.ecore.EStructuralFeature feature)

      See Also:
        `getTransientFeatureIndex(int)`

    - #### getPersistenceFilter

          InternalCDOClassInfo.PersistenceFilter getPersistenceFilter​(org.eclipse.emf.ecore.EStructuralFeature feature)

      Obtains a rule that filters/transforms the persist values of the given `feature`.
      Parameters:
        `feature` - a feature to be persisted
      Returns:
        a persistence filter rule for the `feature`, or `null` if it has no filter but just follows the default persistence rules