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

## Interface InternalCDOClassInfo

- All Superinterfaces:
    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 and 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

      `Adapter.Internal`

  - ### Field Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `InternalCDOClassInfo.PersistenceFilter` | `getPersistenceFilter(EStructuralFeature feature)` Obtains a rule that filters/transforms the persist values of the given `feature`.
    `int` | `getPersistentFeatureIndex(EStructuralFeature feature)` Returns the index of the specified `feature` in the `CDORevisionImpl.values` array, never `NO_SLOT`.
    `int` | `getPersistentFeatureIndex(int featureID)` 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(EStructuralFeature feature)`
    `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`

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

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

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

      `getTarget, isAdapterForType, notifyChanged, setTarget`

- - ### Field Detail

    - #### NO_SLOT

          static final int NO_SLOT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getRevisionForID

          InternalCDORevision getRevisionForID(CDOID id)

    - #### getPersistentFeatureIndex

          int getPersistentFeatureIndex(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(EStructuralFeature feature)

      See Also:
        `getTransientFeatureIndex(int)`

    - #### getPersistenceFilter

          InternalCDOClassInfo.PersistenceFilter getPersistenceFilter(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

Copyright (c) 2004-2019 Eike Stepper (Loehne, 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