Package org.eclipse.emf.cdo.server

## Interface IRepository

- All Superinterfaces:
    `CDOCommonRepository`, `CDOTimeProvider`, `IAdaptable`, `org.eclipse.net4j.util.container.IContainer<java.lang.Object>`, `org.eclipse.net4j.util.lifecycle.IDeactivateable`, `org.eclipse.net4j.util.lifecycle.ILifecycle`, `org.eclipse.net4j.util.event.INotifier`, `IQueryHandlerProvider`
  All Known Subinterfaces:
    `InternalFailoverParticipant`, `InternalRepository`, `InternalSynchronizableRepository`, `ISynchronizableRepository`

      public interface IRepository
      extends CDOCommonRepository, IQueryHandlerProvider, org.eclipse.net4j.util.container.IContainer<java.lang.Object>, org.eclipse.net4j.util.lifecycle.ILifecycle

  A CDO repository.
  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` | `IRepository.Handler` | A marker interface to indicate valid arguments to `addHandler(Handler)` and `removeHandler(Handler)`.
    `static interface` | `IRepository.Props` | Contains symbolic constants that specifiy valid keys of `repository properties`.
    `static interface` | `IRepository.ReadAccessHandler` | Provides a way to handle revisions that are to be sent to the client.
    `static interface` | `IRepository.WriteAccessHandler` | Provides a way to handle commits that are received from a client.

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.common.CDOCommonRepository

      `CDOCommonRepository.CommitInfoStorage, CDOCommonRepository.IDGenerationLocation, CDOCommonRepository.ListOrdering, CDOCommonRepository.State, CDOCommonRepository.StateChangedEvent, CDOCommonRepository.Type, CDOCommonRepository.TypeChangedEvent`

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

      `org.eclipse.net4j.util.container.IContainer.Modifiable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.Object>`

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation`

    - ### 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 java.lang.String` | `SYSTEM_USER_ID` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addCommitInfoHandler​(CDOCommitInfoHandler handler)` | Deprecated. As of 4.2 call `CDOCommitInfoProvider.addCommitInfoHandler(CDOCommitInfoHandler)`
    `void` | `addHandler​(IRepository.Handler handler)` |
    `CDOBranchManager` | `getBranchManager()` |
    `ICommitConflictResolver` | `getCommitConflictResolver()` |
    `CDOCommitInfoHandler[]` | `getCommitInfoHandlers()` | Deprecated. As of 4.2 call `CDOCommitInfoProvider.getCommitInfoHandlers()`
    `CDOCommitInfoManager` | `getCommitInfoManager()` |
    `java.util.Set<IRepository.Handler>` | `getHandlers()` |
    `long` | `getLastCommitTimeStamp()` | Returns the time stamp of the last commit operation.
    `ILockingManager` | `getLockingManager()` |
    `IDurableLockingManager` | `getLockManager()` | Deprecated. As of 4.1 use `getLockingManager()`.
    `CDOPackageRegistry` | `getPackageRegistry()` | Returns the EMF `package registry` that is used by this repository.
    `java.util.Map<java.lang.String,​java.lang.String>` | `getProperties()` |
    `IQueryHandlerProvider` | `getQueryHandlerProvider()` |
    `CDORevisionManager` | `getRevisionManager()` |
    `ISessionManager` | `getSessionManager()` |
    `IStore` | `getStore()` |
    `IUnitManager` | `getUnitManager()` |
    `void` | `removeCommitInfoHandler​(CDOCommitInfoHandler handler)` | Deprecated. As of 4.2 call `CDOCommitInfoProvider.removeCommitInfoHandler(CDOCommitInfoHandler)`
    `void` | `removeHandler​(IRepository.Handler handler)` |
    `void` | `setInitialPackages​(org.eclipse.emf.ecore.EPackage... initialPackages)` |
    `void` | `validateTimeStamp​(long timeStamp)` | Validates the given timeStamp against the repository time.
    `long` | `waitForCommit​(long timeout)` | Blocks the calling thread until the next commit operation has succeeded and returns the last (highest) commit time stamp.

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

      `getCommitInfoStorage, getCreationTime, getIDGenerationLocation, getName, getObjectIDTypes, getRootResourceID, getState, getStoreType, getType, getUUID, isAuthenticating, isAuthorizingOperations, isEnsuringReferentialIntegrity, isSerializingCommits, isSupportingAudits, isSupportingBranches, isSupportingEcore, isSupportingUnits, waitWhileInitial`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.util.CDOTimeProvider

      `getTimeStamp`

    - ### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

      `getAdapter`

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

      `getElements, isEmpty`

    - ### Methods inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

      `activate, deactivate, getLifecycleState, isActive`

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

      `addListener, getListeners, hasListeners, removeListener`

    - ### Methods inherited from interface org.eclipse.emf.cdo.server.IQueryHandlerProvider

      `getQueryHandler`

- - ### Field Detail

    - #### SYSTEM_USER_ID

          static final java.lang.String SYSTEM_USER_ID

      Since:
        3.0
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getStore

          IStore getStore()

    - #### getProperties

          java.util.Map<java.lang.String,​java.lang.String> getProperties()

    - #### getPackageRegistry

          CDOPackageRegistry getPackageRegistry()

      Returns the EMF `package registry` that is used by this repository.
      Since:
        2.0

    - #### getBranchManager

          CDOBranchManager getBranchManager()

      Since:
        3.0

    - #### getRevisionManager

          CDORevisionManager getRevisionManager()

      Since:
        3.0

    - #### getCommitInfoManager

          CDOCommitInfoManager getCommitInfoManager()

      Since:
        4.2

    - #### getCommitConflictResolver

          ICommitConflictResolver getCommitConflictResolver()

      Since:
        4.8

    - #### getSessionManager

          ISessionManager getSessionManager()

    - #### getUnitManager

          IUnitManager getUnitManager()

      Since:
        4.5

    - #### getLockManager

          @Deprecated
          IDurableLockingManager getLockManager()

      Deprecated.
      As of 4.1 use `getLockingManager()`.
      Since:
        4.0

    - #### getLockingManager

          ILockingManager getLockingManager()

      Since:
        4.1

    - #### getQueryHandlerProvider

          IQueryHandlerProvider getQueryHandlerProvider()

      Since:
        2.0

    - #### getLastCommitTimeStamp

          long getLastCommitTimeStamp()

      Returns the time stamp of the last commit operation.
      Since:
        3.0

    - #### waitForCommit

          long waitForCommit​(long timeout)

      Blocks the calling thread until the next commit operation has succeeded and returns the last (highest) commit time stamp.
      Since:
        3.0

    - #### validateTimeStamp

          void validateTimeStamp​(long timeStamp)
                          throws java.lang.IllegalArgumentException

      Validates the given timeStamp against the repository time.
      Throws:
        `java.lang.IllegalArgumentException` - if the given timeStamp is less than the repository creation time or greater than the current repository time.
      Since:
        2.0

    - #### getCommitInfoHandlers

          @Deprecated
          CDOCommitInfoHandler[] getCommitInfoHandlers()

      Deprecated.
      As of 4.2 call `CDOCommitInfoProvider.getCommitInfoHandlers()`
      Since:
        4.1

    - #### addCommitInfoHandler

          @Deprecated
          void addCommitInfoHandler​(CDOCommitInfoHandler handler)

      Deprecated.
      As of 4.2 call `CDOCommitInfoProvider.addCommitInfoHandler(CDOCommitInfoHandler)`
      Since:
        4.0

    - #### removeCommitInfoHandler

          @Deprecated
          void removeCommitInfoHandler​(CDOCommitInfoHandler handler)

      Deprecated.
      As of 4.2 call `CDOCommitInfoProvider.removeCommitInfoHandler(CDOCommitInfoHandler)`
      Since:
        4.0

    - #### getHandlers

          java.util.Set<IRepository.Handler> getHandlers()

      Since:
        4.1

    - #### addHandler

          void addHandler​(IRepository.Handler handler)

      Since:
        2.0

    - #### removeHandler

          void removeHandler​(IRepository.Handler handler)

      Since:
        2.0

    - #### setInitialPackages

          void setInitialPackages​(org.eclipse.emf.ecore.EPackage... initialPackages)

      Since:
        4.0