org.eclipse.emf.cdo.view

## Interface CDOView

- All Superinterfaces:
    CDOBranchPoint, CDOBranchProvider, CDOCommitHistory.Provider<CDOObject,CDOObjectHistory>, CDOCommonView, CDOLockOwner, CDORevisionProvider, CDOTimeProvider, CDOUpdatable, Closeable, IAdaptable, IContainer<CDOResourceNode>, INotifier, IOptionsContainer, IPropertiesContainer
  All Known Subinterfaces:
    CDOTransaction, InternalCDOTransaction, InternalCDOView
  All Known Implementing Classes:
    CDOPushTransaction

      public interface CDOView
      extends CDOCommonView, CDOUpdatable, CDOCommitHistory.Provider<CDOObject,CDOObjectHistory>, IContainer<CDOResourceNode>

  A read-only view to the state of the object graph in the repository of the underlying `session` at a specific `time` at a specific `branch`.

  If the `time` of a view is `unspecified` the objects provided and managed by that view always show the latest state the repository graph.

  Objects that are accessed through this view are immutable for the client. Each attempt to call a mutator on one of these objects or one of their feature lists will result in a `ReadOnlyException` being thrown immediately. Mutable objects can be provided by a `transaction`.

  A view is opened through API of the underlying session like this:

         CDOSession session = ...
         CDOView view = session.openView();
         ...

  Since:
    2.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 and Description
    --- | ---
    `static interface` | `CDOView.Options` Encapsulates a set of notifying `view` configuration options.

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

    - ### Fields inherited from interface org.eclipse.emf.cdo.common.branch.CDOBranchPoint

      `INVALID_DATE, UNSPECIFIED_DATE`

    - ### Fields inherited from interface org.eclipse.emf.cdo.util.CDOUpdatable

      `NO_TIMEOUT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addObjectHandler(CDOObjectHandler handler)`
    `void` | `addRegistrationHandler(CDORegistrationHandler handler)`
    `CDOChangeSetData` | `compareRevisions(CDOBranchPoint source)`
    `CDOQuery` | `createQuery(java.lang.String language, java.lang.String queryString)` Same as `createQuery(language, queryString, null)`.
    `CDOQuery` | `createQuery(java.lang.String language, java.lang.String queryString, java.lang.Object context)`
    `URI` | `createResourceURI(java.lang.String path)` Returns a `URI` that can be used in `ResourceSet.getResource(URI, boolean)` to load the resource with the specified path.
    `void` | `disableDurableLocking(boolean releaseLocks)` Disables the storage of all information that's needed to `reopen` this view at a later point in time.
    `java.lang.String` | `enableDurableLocking()` Enables the storage of all information that's needed to `reopen` this view at a later point in time.
    `java.lang.String` | `enableDurableLocking(boolean enable)` Deprecated. Use `enableDurableLocking()` instead or `disableDurableLocking(boolean)`, respectively.
    `CDOBinaryResource` | `getBinaryResource(java.lang.String path)`
    `CDOLockState[]` | `getLockStates(java.util.Collection<CDOID> ids)` Get an array of `lock states` corresponding to the specified collection of `ids`.
    `CDOLockState[]` | `getLockStatesOfObjects(java.util.Collection<? extends CDOObject> objects)` Get an array of `lock states` corresponding to the specified collection of `objects`.
    `CDOObject` | `getObject(CDOID id)` Returns the object for the given CDOID.
    `CDOObject` | `getObject(CDOID id, boolean loadOnDemand)` Returns the object for the given CDOID.
    `<T extends EObject> T` | `getObject(T objectFromDifferentView)` Takes an object from a (possibly) different view and contextifies it for the usage with this view.
    `CDOObjectHandler[]` | `getObjectHandlers()`
    `CDOViewProvider` | `getProvider()` Returns the `provider` that has opened this view.
    `CDORegistrationHandler[]` | `getRegistrationHandlers()`
    `CDOResource` | `getResource(java.lang.String path)` Same as `getResource(String, true)`.
    `CDOResource` | `getResource(java.lang.String path, boolean loadOnDemand)`
    `CDOResourceFolder` | `getResourceFolder(java.lang.String path)`
    `CDOResourceNode` | `getResourceNode(java.lang.String path)` Returns the resource node with the given path.
    `ResourceSet` | `getResourceSet()` Returns the `resource set` this view is associated with.
    `CDOResource` | `getRootResource()` Returns the root resource of the repository.
    `CDOSession` | `getSession()` Returns the `session` this view was opened by.
    `CDOTextResource` | `getTextResource(java.lang.String path)`
    `CDOUnitManager` | `getUnitManager()`
    `URIHandler` | `getURIHandler()`
    `java.util.concurrent.locks.Lock` | `getViewLock()`
    `CDOViewSet` | `getViewSet()` Returns the `view set` this view is associated with.
    `boolean` | `hasConflict()` Returns always `false`.
    `boolean` | `hasResource(java.lang.String path)` Returns `true` if a resource with the given path exists in the repository, `false`.
    `boolean` | `isDirty()` Returns always `false`.
    `boolean` | `isInvalidating()`
    `boolean` | `isInvalidationRunnerActive()` Deprecated. As of 4.7 use `isInvalidating()`.
    `boolean` | `isLegacyModeEnabled()` Deprecated. As of 4.2 the legacy mode is always enabled.
    `boolean` | `isObjectRegistered(CDOID id)` Returns `true` if an `object` with the given `id` is currently registered in this view, `false` otherwise.
    `void` | `lockObjects(java.util.Collection<? extends CDOObject> objects, IRWLockManager.LockType lockType, long timeout)` Locks the given objects.
    `void` | `lockObjects(java.util.Collection<? extends CDOObject> objects, IRWLockManager.LockType lockType, long timeout, boolean recursive)`
    `CDOView.Options` | `options()` Returns the `options` of this view.
    `<T extends EObject> java.util.List<T>` | `queryInstances(EClass type)` Returns a list of the instances of the given type.
    `<T extends EObject> CloseableIterator<T>` | `queryInstancesAsync(EClass type)` Returns an iterator over the instances of the given type.
    `<T extends EObject> CloseableIterator<T>` | `queryInstancesAsync(EClass type, boolean exact)` Returns an iterator over the instances of the given type.
    `java.util.List<CDOResourceNode>` | `queryResources(CDOResourceFolder folder, java.lang.String name, boolean exactMatch)` Returns a list of the resources in the given folder with a name equal to or starting with the value of the name parameter.
    `CloseableIterator<CDOResourceNode>` | `queryResourcesAsync(CDOResourceFolder folder, java.lang.String name, boolean exactMatch)` Returns an iterator over the resources in the given folder with a name equal to or starting with the value of the name parameter.
    `java.util.List<CDOObjectReference>` | `queryXRefs(CDOObject targetObject, EReference... sourceReferences)` Returns a list of `object references` that represent the cross references to the specified target object.
    `java.util.List<CDOObjectReference>` | `queryXRefs(java.util.Set<CDOObject> targetObjects, EReference... sourceReferences)` Returns a list of `object references` that represent the cross references to the specified target objects.
    `CloseableIterator<CDOObjectReference>` | `queryXRefsAsync(java.util.Set<CDOObject> targetObjects, EReference... sourceReferences)` Returns an iterator over the `object references` that represent the cross references to the specified target objects.
    `int` | `reload(CDOObject... objects)` Deprecated. As of 4.3 no longer supported because it is unsafe to reload single objects.
    `void` | `removeObjectHandler(CDOObjectHandler handler)`
    `void` | `removeRegistrationHandler(CDORegistrationHandler handler)`
    `boolean` | `setBranch(CDOBranch branch)` Same as calling `setBranchPoint(branch, getTimeStamp())`.
    `boolean` | `setBranch(CDOBranch branch, IProgressMonitor monitor)` Same as `setBranch(CDOBranch)` with `IProgressMonitor`.
    `boolean` | `setBranchPoint(CDOBranch branch, long timeStamp)` Sets the `branch` and the point in (repository) time this view should refer to.
    `boolean` | `setBranchPoint(CDOBranch branch, long timeStamp, IProgressMonitor monitor)` Same as `setBranchPoint(CDOBranch, long)` with a `IProgressMonitor`.
    `boolean` | `setBranchPoint(CDOBranchPoint branchPoint)` Same as calling `setBranchPoint(branchPoint.getBranch(), branchPoint.getTimeStamp())`.
    `boolean` | `setBranchPoint(CDOBranchPoint branchPoint, IProgressMonitor monitor)` Same as calling `setBranchPoint(CDOBranchPoint)` with a `IProgressMonitor` .
    `void` | `setResourcePathCache(java.util.Map<java.lang.String,CDOID> resourcePathCache)` Sets the new `map` to be used as a cache for various `get*Resource*(String path)` methods.
    `boolean` | `setTimeStamp(long timeStamp)` Same as calling `setBranchPoint(getBranch(), timeStamp)`.
    `boolean` | `setTimeStamp(long timeStamp, IProgressMonitor monitor)` Same as `setTimeStamp(long)` with `IProgressMonitor`.
    `<V> V` | `syncExec(java.util.concurrent.Callable<V> callable)`
    `void` | `syncExec(java.lang.Runnable runnable)`
    `void` | `unlockObjects()` Unlocks all locked objects of this view.
    `void` | `unlockObjects(java.util.Collection<? extends CDOObject> objects, IRWLockManager.LockType lockType)` Unlocks the given locked objects of this view.
    `void` | `unlockObjects(java.util.Collection<? extends CDOObject> objects, IRWLockManager.LockType lockType, boolean recursive)`

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

      `getDurableLockingID, getViewID, isHistorical, isReadOnly`

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

      `getSessionID, isDurableView`

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

      `getBranch, getTimeStamp`

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

      `getRevision`

    - ### Methods inherited from interface org.eclipse.net4j.util.properties.IPropertiesContainer

      `properties`

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

      `getAdapter`

    - ### Methods inherited from interface org.eclipse.net4j.util.collection.Closeable

      `close, isClosed`

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

      `getLastUpdateTime, runAfterUpdate, waitForUpdate, waitForUpdate`

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

      `getHistory, getHistory`

    - ### 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`

- - ### Field Detail

    - #### PROP_TIME_MACHINE_DISABLED

          static final java.lang.String PROP_TIME_MACHINE_DISABLED

      Since:
        4.5
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getSession

          CDOSession getSession()

      Returns the `session` this view was opened by.
      Specified by:
        `getSession` in interface `CDOCommonView`
      Returns:
        The session this view was opened by, or `null` if this view is closed.
      See Also:
        `Closeable.close()`, `Closeable.isClosed()`, `CDOViewContainer.openView()`, `CDOTransactionContainer.openTransaction()`

    - #### getProvider

          CDOViewProvider getProvider()

      Returns the `provider` that has opened this view.
      Since:
        4.4

    - #### getViewSet

          CDOViewSet getViewSet()

      Returns the `view set` this view is associated with.
      Returns:
        The view set this view is associated with, never `null`.
      See Also:
        `CDOViewSet.getViews()`

    - #### getViewLock

          java.util.concurrent.locks.Lock getViewLock()

      Since:
        4.5

    - #### syncExec

          void syncExec(java.lang.Runnable runnable)

      Since:
        4.5

    - #### syncExec

          <V> V syncExec(java.util.concurrent.Callable<V> callable)
                  throws java.lang.Exception

      Throws:
        `java.lang.Exception`
      Since:
        4.5

    - #### getResourceSet

          ResourceSet getResourceSet()

      Returns the `resource set` this view is associated with.

      Same as calling `getViewSet().getResourceSet()`.

      See Also:
        `CDOViewSet.getResourceSet()`

    - #### getURIHandler

          URIHandler getURIHandler()

    - #### getUnitManager

          CDOUnitManager getUnitManager()

      Since:
        4.5

    - #### setBranchPoint

          boolean setBranchPoint(CDOBranch branch,
                                 long timeStamp)

      Sets the `branch` and the point in (repository) time this view should refer to. `Objects` provided by this view will be `valid` at this time. The special value `UNSPECIFIED_DATE` denotes a "floating view" that always shows the latest state of the repository.
      Returns:
        `true` if the branch point was changed, `false` otherwise.
      Since:
        3.0

    - #### setBranchPoint

          boolean setBranchPoint(CDOBranch branch,
                                 long timeStamp,
                                 IProgressMonitor monitor)

      Same as `setBranchPoint(CDOBranch, long)` with a `IProgressMonitor`.
      Since:
        4.4

    - #### setBranchPoint

          boolean setBranchPoint(CDOBranchPoint branchPoint)

      Same as calling `setBranchPoint(branchPoint.getBranch(), branchPoint.getTimeStamp())`.
      Since:
        3.0

    - #### setBranchPoint

          boolean setBranchPoint(CDOBranchPoint branchPoint,
                                 IProgressMonitor monitor)

      Same as calling `setBranchPoint(CDOBranchPoint)` with a `IProgressMonitor` .
      Since:
        4.4

    - #### setBranch

          boolean setBranch(CDOBranch branch)

      Same as calling `setBranchPoint(branch, getTimeStamp())`.
      Since:
        3.0

    - #### setBranch

          boolean setBranch(CDOBranch branch,
                            IProgressMonitor monitor)

      Same as `setBranch(CDOBranch)` with `IProgressMonitor`.
      Since:
        4.4

    - #### setTimeStamp

          boolean setTimeStamp(long timeStamp)

      Same as calling `setBranchPoint(getBranch(), timeStamp)`.
      Since:
        3.0

    - #### setTimeStamp

          boolean setTimeStamp(long timeStamp,
                               IProgressMonitor monitor)

      Same as `setTimeStamp(long)` with `IProgressMonitor`.
      Since:
        4.4

    - #### isInvalidating

          boolean isInvalidating()

      Since:
        4.8

    - #### isInvalidationRunnerActive

          @Deprecated
          boolean isInvalidationRunnerActive()

      Deprecated. As of 4.7 use `isInvalidating()`.
      Since:
        4.0

    - #### isLegacyModeEnabled

          @Deprecated
          boolean isLegacyModeEnabled()

      Deprecated. As of 4.2 the legacy mode is always enabled.
      Since:
        3.0
      See Also:
        `CDOUtil.setLegacyModeDefault(boolean)`

    - #### isDirty

          boolean isDirty()

      Returns always `false`.

      This method has a special implementation in `CDOTransaction` as well.

      See Also:
        `CDOTransaction.isDirty()`

    - #### hasConflict

          boolean hasConflict()

      Returns always `false`.

      This method has a special implementation in `CDOTransaction` as well.

      See Also:
        `CDOTransaction.hasConflict()`

    - #### hasResource

          boolean hasResource(java.lang.String path)

      Returns `true` if a resource with the given path exists in the repository, `false`. Applies to `file resources`, as well.
      See Also:
        `getResource(String, boolean)`

    - #### getResource

          CDOResource getResource(java.lang.String path,
                                  boolean loadOnDemand)
                           throws CDOResourceNodeNotFoundException

      Throws:
        `CDOResourceNodeNotFoundException`
      See Also:
        `ResourceSet.getResource(URI, boolean)`

    - #### getResource

          CDOResource getResource(java.lang.String path)
                           throws CDOResourceNodeNotFoundException

      Same as `getResource(String, true)`.
      Throws:
        `CDOResourceNodeNotFoundException`
      See Also:
        `ResourceSet.getResource(URI, boolean)`

    - #### getTextResource

          CDOTextResource getTextResource(java.lang.String path)
                                   throws CDOResourceNodeNotFoundException

      Throws:
        `CDOResourceNodeNotFoundException`
      Since:
        4.2

    - #### getBinaryResource

          CDOBinaryResource getBinaryResource(java.lang.String path)
                                       throws CDOResourceNodeNotFoundException

      Throws:
        `CDOResourceNodeNotFoundException`
      Since:
        4.2

    - #### getResourceNode

          CDOResourceNode getResourceNode(java.lang.String path)
                                   throws CDOResourceNodeNotFoundException

      Returns the resource node with the given path.
      Returns:
        never `null`.
      Throws:
        `CDOException` - if no such resource node exists.
        `CDOResourceNodeNotFoundException`

    - #### getResourceFolder

          CDOResourceFolder getResourceFolder(java.lang.String path)
                                       throws CDOResourceNodeNotFoundException

      Throws:
        `CDOResourceNodeNotFoundException`
      Since:
        4.2

    - #### getRootResource

          CDOResource getRootResource()

      Returns the root resource of the repository.

      The root resource is a special resource with only `CDOResourceNodes` in its contents list. You can use it as the main entry into the new resource and folder structure.

    - #### setResourcePathCache

          void setResourcePathCache(java.util.Map<java.lang.String,CDOID> resourcePathCache)

      Sets the new `map` to be used as a cache for various `get*Resource*(String path)` methods.

      Can be used to reset/clear the resource path cache by passing a `new HashMap<String, CDOID>()`. Smarter maps could implement a LRU eviction policy to limit the map capacity. Passing `null` disables resource path caching.

      The default value is `new HashMap<String, CDOID>()`.

      Since:
        4.2
      See Also:
        `getResourceNode(String)`, `getResource(String)`, `getResource(String, boolean)`, `getBinaryResource(String)`, `getTextResource(String)`, `getResourceFolder(String)`, `hasResource(String)`

    - #### createResourceURI

          URI createResourceURI(java.lang.String path)

      Returns a `URI` that can be used in `ResourceSet.getResource(URI, boolean)` to load the resource with the specified path.
      Since:
        4.4

    - #### queryResources

          java.util.List<CDOResourceNode> queryResources(CDOResourceFolder folder,
                                                         java.lang.String name,
                                                         boolean exactMatch)

      Returns a list of the resources in the given folder with a name equal to or starting with the value of the name parameter.
      Parameters:
        `folder` - The folder to search in, or `null` for top level resource nodes.
        `name` - the name or prefix of the resource nodes to return.
        `exactMatch` - `true` if the complete name of the resource must match, `false` if only a common prefix of the name must match.

    - #### queryResourcesAsync

          CloseableIterator<CDOResourceNode> queryResourcesAsync(CDOResourceFolder folder,
                                                                 java.lang.String name,
                                                                 boolean exactMatch)

      Returns an iterator over the resources in the given folder with a name equal to or starting with the value of the name parameter. The underlying query will be executed asynchronously.
      Parameters:
        `folder` - The folder to search in, or `null` for top level resource nodes.
        `name` - the name or prefix of the resource nodes to return.
        `exactMatch` - `true` if the complete name of the resource must match, `false` if only a common prefix of the name must match.

    - #### queryInstances

          <T extends EObject> java.util.List<T> queryInstances(EClass type)

      Returns a list of the instances of the given type.
      Since:
        4.3

    - #### queryInstancesAsync

          <T extends EObject> CloseableIterator<T> queryInstancesAsync(EClass type)

      Returns an iterator over the instances of the given type. The underlying query will be executed asynchronously.
      Since:
        4.3

    - #### queryInstancesAsync

          <T extends EObject> CloseableIterator<T> queryInstancesAsync(EClass type,
                                                                       boolean exact)

      Returns an iterator over the instances of the given type. The underlying query will be executed asynchronously.
      Since:
        4.6

    - #### queryXRefs

          java.util.List<CDOObjectReference> queryXRefs(CDOObject targetObject,
                                                        EReference... sourceReferences)

      Returns a list of `object references` that represent the cross references to the specified target object.
      Parameters:
        `targetObject` - The target object that referencing objects are requested for. An external target object can be used with the help of `CDOUtil.wrapExternalObject()`.
        `sourceReferences` - The reference features that referencing objects are requested for, or an empty array if all reference features are to be used in the request.
      Since:
        4.0
      See Also:
        `queryXRefs(Set, EReference...)`, `queryXRefsAsync(Set, EReference...)`, `CDOUtil.wrapExternalObject(EObject, CDOView)`

    - #### queryXRefs

          java.util.List<CDOObjectReference> queryXRefs(java.util.Set<CDOObject> targetObjects,
                                                        EReference... sourceReferences)

      Returns a list of `object references` that represent the cross references to the specified target objects.
      Parameters:
        `targetObjects` - The set of target objects that referencing objects are requested for. External target objects can be used with the help of `CDOUtil.wrapExternalObject()`.
        `sourceReferences` - The reference features that referencing objects are requested for, or an empty array if all reference features are to be used in the request.
      Since:
        3.0
      See Also:
        `queryXRefs(CDOObject, EReference...)`, `queryXRefsAsync(Set, EReference...)`, `CDOUtil.wrapExternalObject(EObject, CDOView)`

    - #### queryXRefsAsync

          CloseableIterator<CDOObjectReference> queryXRefsAsync(java.util.Set<CDOObject> targetObjects,
                                                                EReference... sourceReferences)

      Returns an iterator over the `object references` that represent the cross references to the specified target objects. The underlying query will be executed asynchronously.
      Parameters:
        `targetObjects` - The set of target objects that referencing objects are requested for. External target objects can be used with the help of `CDOUtil.wrapExternalObject()`.
        `sourceReferences` - The reference features that referencing objects are requested for, or an empty array if all reference features are to be used in the request.
      Since:
        3.0
      See Also:
        `queryXRefs(CDOObject, EReference...)`, `queryXRefs(Set, EReference...)`, `CDOUtil.wrapExternalObject(EObject, CDOView)`

    - #### getObject

          CDOObject getObject(CDOID id,
                              boolean loadOnDemand)

      Returns the object for the given CDOID.
      Parameters:
        `loadOnDemand` - whether to create and load the object, if it doesn't already exist.
      Returns:
        the object resolved by the CDOID if the id is not `null`, or `null` if there isn't one and loadOnDemand is `false`.

    - #### getObject

          CDOObject getObject(CDOID id)

      Returns the object for the given CDOID.

      Same as `getObject(id, true)`.

      See Also:
        `getObject(CDOID, boolean)`

    - #### getObject

          <T extends EObject> T getObject(T objectFromDifferentView)

      Takes an object from a (possibly) different view and contextifies it for the usage with this view.
      - If the given object is contained in this view it is returned unmodified.
      - If the given object can not be cast to `CDOObject` it is returned unmodified.
      - If the view of the given object is contained in a different session an `IllegalArgumentException` is thrown.
      - If `null` is passed `null` is returned.

    - #### isObjectRegistered

          boolean isObjectRegistered(CDOID id)

      Returns `true` if an `object` with the given `id` is currently registered in this view, `false` otherwise.

    - #### reload

          @Deprecated
          int reload(CDOObject... objects)

      Deprecated. As of 4.3 no longer supported because it is unsafe to reload single objects.
      Reloads the given `objects` from the repository.

    - #### getLockStates

          CDOLockState[] getLockStates(java.util.Collection<CDOID> ids)

      Get an array of `lock states` corresponding to the specified collection of `ids`. If the collection of `ids` is empty, `lock states` of all locked objects are returned.
      Since:
        4.6

    - #### getLockStatesOfObjects

          CDOLockState[] getLockStatesOfObjects(java.util.Collection<? extends CDOObject> objects)

      Get an array of `lock states` corresponding to the specified collection of `objects`. If the collection of `objects` is empty, `lock states` of all locked objects are returned.
      Since:
        4.6

    - #### lockObjects

          void lockObjects(java.util.Collection<? extends CDOObject> objects,
                           IRWLockManager.LockType lockType,
                           long timeout)
                    throws java.lang.InterruptedException

      Locks the given objects. Once the objects are locked, they will not be changed remotely or go in conflict state.
      Throws:
        `java.lang.InterruptedException`
      Since:
        3.0

    - #### lockObjects

          void lockObjects(java.util.Collection<? extends CDOObject> objects,
                           IRWLockManager.LockType lockType,
                           long timeout,
                           boolean recursive)
                    throws java.lang.InterruptedException

      Throws:
        `java.lang.InterruptedException`

    - #### unlockObjects

          void unlockObjects(java.util.Collection<? extends CDOObject> objects,
                             IRWLockManager.LockType lockType)

      Unlocks the given locked objects of this view.

    - #### unlockObjects

          void unlockObjects(java.util.Collection<? extends CDOObject> objects,
                             IRWLockManager.LockType lockType,
                             boolean recursive)

    - #### unlockObjects

          void unlockObjects()

      Unlocks all locked objects of this view.
      Since:
        2.0

    - #### enableDurableLocking

          @Deprecated
          java.lang.String enableDurableLocking(boolean enable)

      Deprecated. Use `enableDurableLocking()` instead or `disableDurableLocking(boolean)`, respectively.
      Since:
        4.0

    - #### enableDurableLocking

          java.lang.String enableDurableLocking()

      Enables the storage of all information that's needed to `reopen` this view at a later point in time. This information includes the `branch point`, the user ID of the `session`, whether it's a read-only view or a `transaction` and all the locks that are acquired or will be acquired while durable locking is enabled.
      Since:
        4.1
      See Also:
        `CDOViewContainer.openView(String)`, `CDOViewOpener.openView(String, ResourceSet)`, `CDOTransactionContainer.openTransaction(String)`, `CDOTransactionOpener.openTransaction(String, ResourceSet)`, `disableDurableLocking(boolean)`

    - #### disableDurableLocking

          void disableDurableLocking(boolean releaseLocks)

      Disables the storage of all information that's needed to `reopen` this view at a later point in time. If such information is stored when this method is called it is removed. Note that locks acquired by this view are only released if `true` is passed to the `releaseLocks` parameter.
      Since:
        4.1
      See Also:
        `enableDurableLocking()`

    - #### addObjectHandler

          void addObjectHandler(CDOObjectHandler handler)

      Since:
        3.0

    - #### removeObjectHandler

          void removeObjectHandler(CDOObjectHandler handler)

      Since:
        3.0

    - #### getObjectHandlers

          CDOObjectHandler[] getObjectHandlers()

      Since:
        3.0

    - #### addRegistrationHandler

          void addRegistrationHandler(CDORegistrationHandler handler)

      Since:
        4.6

    - #### removeRegistrationHandler

          void removeRegistrationHandler(CDORegistrationHandler handler)

      Since:
        4.6

    - #### getRegistrationHandlers

          CDORegistrationHandler[] getRegistrationHandlers()

      Since:
        4.6

    - #### createQuery

          CDOQuery createQuery(java.lang.String language,
                               java.lang.String queryString)

      Same as `createQuery(language, queryString, null)`.
      Since:
        2.0
      See Also:
        `createQuery(String, String, Object)`

    - #### createQuery

          CDOQuery createQuery(java.lang.String language,
                               java.lang.String queryString,
                               java.lang.Object context)

      Since:
        4.0

    - #### compareRevisions

          CDOChangeSetData compareRevisions(CDOBranchPoint source)

      Since:
        4.0

    - #### options

          CDOView.Options options()

      Description copied from interface: `CDOCommonView`
      Returns the `options` of this view.
      Specified by:
        `options` in interface `CDOCommonView`
      Specified by:
        `options` in interface `IOptionsContainer`
      Since:
        2.0

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