org.eclipse.emf.cdo.util

## Interface CDOUpdatable

- All Known Subinterfaces:
    CDONet4jSession, CDOSession, 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 and Description
    --- | ---
    `static long` | `NO_TIMEOUT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getLastUpdateTime()` Returns the time stamp of the last commit operation.
    `boolean` | `runAfterUpdate(long updateTime, Runnable runnable)`
    `void` | `waitForUpdate(long updateTime)` Blocks the calling thread until a commit operation with the given time stamp (or higher) has occured.
    `boolean` | `waitForUpdate(long updateTime, long timeoutMillis)` Blocks the calling thread until a commit operation with the given time stamp (or higher) has occured 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 occured.

    - #### waitForUpdate

          boolean waitForUpdate(long updateTime,
                                long timeoutMillis)

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

    - #### runAfterUpdate

          boolean runAfterUpdate(long updateTime,
                                 Runnable runnable)

      Since:
        4.3

Copyright (c) 2014 Eike Stepper (Berlin, 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