Package org.eclipse.emf.cdo.common.revision

## Interface CDORevisionCache

- All Superinterfaces:
    `CDORevisionCacheAdder`, `org.eclipse.net4j.util.event.INotifier`
  All Known Subinterfaces:
    `InternalCDORevisionCache`

      public interface CDORevisionCache
      extends CDORevisionCacheAdder, org.eclipse.net4j.util.event.INotifier

  Caches `revisions` and possibly `evicts` those that are no longer strongly referenced when free memory runs low.
  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.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `CDORevisionCache.EvictionEvent` | An `event` fired from a `revision cache` for `revisions` that are evicted because they are no longer strongly referenced when free memory runs low.

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

      `org.eclipse.net4j.util.event.INotifier.INotifier2`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static CDORevisionCache` | `NOOP` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `forEachCurrentRevision​(java.util.function.Consumer<CDORevision> consumer)` | Passes each `revision` that is current into the given consumer.
    `java.util.List<CDORevision>` | `getCurrentRevisions()` | Returns a list of `revisions` that are current.
    `EClass` | `getObjectType​(CDOID id)` |
    `CDORevision` | `getRevision​(CDOID id, CDOBranchPoint branchPoint)` |
    `CDORevision` | `getRevisionByVersion​(CDOID id, CDOBranchVersion branchVersion)` |

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.revision.CDORevisionCacheAdder

      `addRevision`

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Field Detail

    - #### NOOP

          static final CDORevisionCache NOOP

      Since:
        3.0

  - ### Method Detail

    - #### getObjectType

          EClass getObjectType​(CDOID id)

    - #### getRevision

          CDORevision getRevision​(CDOID id,
                                  CDOBranchPoint branchPoint)

      Since:
        3.0

    - #### getRevisionByVersion

          CDORevision getRevisionByVersion​(CDOID id,
                                           CDOBranchVersion branchVersion)

      Since:
        3.0

    - #### getCurrentRevisions

          java.util.List<CDORevision> getCurrentRevisions()

      Returns a list of `revisions` that are current.
      Since:
        3.0

    - #### forEachCurrentRevision

          void forEachCurrentRevision​(java.util.function.Consumer<CDORevision> consumer)

      Passes each `revision` that is current into the given consumer.
      Since:
        4.9