Package org.eclipse.emf.cdo.util

## Interface CDOUpdatable

- All Known Subinterfaces:
    `CDONet4jSession`, `CDOSession`, `CDOSession`, `CDOTransaction`, `CDOView`, `InternalCDOSession`, `InternalCDOTransaction`, `InternalCDOView`
  All Known Implementing Classes:
    `CDOPushTransaction`

      public interface CDOUpdatable

  Represents facilities that can receive `passive updates`.
  Since:
    3.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
    Modifier and Type | Field | Description
    --- | --- | ---
    `static long` | `NO_TIMEOUT` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `long` | `getLastUpdateTime()` | Returns the time stamp of the last commit operation.
    `boolean` | `runAfterUpdate​(long updateTime, java.lang.Runnable runnable)` |
    `void` | `waitForUpdate​(long updateTime)` | Blocks the calling thread until a commit operation with the given time stamp (or higher) has occurred.
    `boolean` | `waitForUpdate​(long updateTime, long timeoutMillis)` | Blocks the calling thread until a commit operation with the given time stamp (or higher) has occurred or the given timeout has expired.

- - ### Field Detail

    - #### NO_TIMEOUT

          static final long NO_TIMEOUT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getLastUpdateTime

          long getLastUpdateTime()

      Returns the time stamp of the last commit operation. May not be accurate if `passive updates` are disabled.

    - #### waitForUpdate

          void waitForUpdate​(long updateTime)

      Blocks the calling thread until a commit operation with the given time stamp (or higher) has occurred.

    - #### waitForUpdate

          boolean waitForUpdate​(long updateTime,
                                long timeoutMillis)

      Blocks the calling thread until a commit operation with the given time stamp (or higher) has occurred or the given timeout has expired.
      Returns:
        `true` if the specified commit operation has occurred within the given timeout period, `false` otherwise.

    - #### runAfterUpdate

          boolean runAfterUpdate​(long updateTime,
                                 java.lang.Runnable runnable)

      Since:
        4.3