org.eclipse.emf.cdo.common.commit

## Interface CDOCommitHistory

- All Superinterfaces:
    CDOBranchProvider, CDOCommitInfoHandler, IContainer<CDOCommitInfo>, INotifier
  All Known Subinterfaces:
    CDOObjectHistory

      public interface CDOCommitHistory
      extends IContainer<CDOCommitInfo>, CDOBranchProvider, CDOCommitInfoHandler

  A cache for the `commit infos` of a branch or of an entire repository.
  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` | `CDOCommitHistory.Provider<KEY,HISTORY extends CDOCommitHistory>` Provides consumers with `histories`.
    `static interface` | `CDOCommitHistory.TriggerLoadElement` A virtual `history` element that can be returned from `IContainer.getElements()` if `isAppendingTriggerLoadElement()` is `true` to indicate that the history is not `fully` loaded, yet.

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer

      `IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_LOAD_COUNT`
    `static CDOCommitHistory` | `EMPTY`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `CDOBranch` | `getBranch()`
    `CDOCommitInfo` | `getElement(int index)`
    `CDOCommitInfo` | `getFirstElement()`
    `CDOCommitInfo` | `getLastElement()`
    `int` | `getLoadCount()`
    `CDOCommitInfoManager` | `getManager()`
    `boolean` | `isAppendingTriggerLoadElement()`
    `boolean` | `isFull()`
    `boolean` | `isLoading()`
    `void` | `setAppendingTriggerLoadElement(boolean appendingTriggerLoadElement)`
    `void` | `setLoadCount(int loadCount)`
    `int` | `size()`
    `boolean` | `triggerLoad()`
    `boolean` | `triggerLoad(CDOCommitInfoHandler handler)`
    `void` | `waitWhileLoading(long timeout)`

    - ### Methods inherited from interface org.eclipse.net4j.util.container.IContainer

      `getElements, isEmpty`

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

      `addListener, getListeners, hasListeners, removeListener`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.commit.CDOCommitInfoHandler

      `handleCommitInfo`

- - ### Field Detail

    - #### EMPTY

          static final CDOCommitHistory EMPTY

    - #### DEFAULT_LOAD_COUNT

          static final int DEFAULT_LOAD_COUNT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getManager

          CDOCommitInfoManager getManager()

    - #### getBranch

          CDOBranch getBranch()

      Specified by:
        `getBranch` in interface `CDOBranchProvider`

    - #### isAppendingTriggerLoadElement

          boolean isAppendingTriggerLoadElement()

    - #### setAppendingTriggerLoadElement

          void setAppendingTriggerLoadElement(boolean appendingTriggerLoadElement)

    - #### getFirstElement

          CDOCommitInfo getFirstElement()

    - #### getLastElement

          CDOCommitInfo getLastElement()

    - #### getElement

          CDOCommitInfo getElement(int index)

    - #### size

          int size()

    - #### isFull

          boolean isFull()

    - #### isLoading

          boolean isLoading()

    - #### waitWhileLoading

          void waitWhileLoading(long timeout)

    - #### getLoadCount

          int getLoadCount()

    - #### setLoadCount

          void setLoadCount(int loadCount)

    - #### triggerLoad

          boolean triggerLoad()

    - #### triggerLoad

          boolean triggerLoad(CDOCommitInfoHandler handler)

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