org.eclipse.emf.cdo.util

## Class CDOUtil

- java.lang.Object
- - org.eclipse.emf.cdo.util.CDOUtil

-     public final class CDOUtil
      extends Object

  Various static methods that may help in CDO client applications.
  Author:
    Eike Stepper

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `CDO_ANNOTATION_URI`
    `static String` | `DOCUMENTATION_KEY`

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `cleanStaleReference(EObject eObject, EStructuralFeature eFeature)`
    `static void` | `cleanStaleReference(EObject eObject, EStructuralFeature eFeature, int index)`
    `static void` | `configureView(CDOView view)`
    `static CDOBranch` | `createBranch(CDOBranchPoint base, String name)`
    `static CDOCollectionLoadingPolicy` | `createCollectionLoadingPolicy(int initialChunkSize, int resolveChunkSize)`
    `static CDOFeatureAnalyzer` | `createModelBasedFeatureAnalyzer()`
    `static CDORevisionPrefetchingPolicy` | `createRevisionPrefetchingPolicy(int chunkSize)`
    `static CDOFetchRuleManager` | `createThreadLocalFetchRuleManager()`
    `static CDOFeatureAnalyzer` | `createUIFeatureAnalyzer()`
    `static CDOFeatureAnalyzer` | `createUIFeatureAnalyzer(long maxTimeBetweenOperation)`
    `static CDOXATransaction` | `createXATransaction(Notifier... notifiers)`
    `static <T extends EObject> EList<T>` | `filterReadables(Collection<T> collection)`
    `static String` | `getAnnotation(ModelElement modelElement, String sourceURI, String key)`
    `static CDOObject` | `getCDOObject(EObject object)`
    `static CDOObject` | `getCDOObject(EObject object, boolean adaptLegacy)`
    `static List<? extends CDOObject>` | `getCDOObjects(EObject... objects)`
    `static List<? extends CDOObject>` | `getCDOObjects(List<? extends EObject> objects)`
    `static String` | `getDocumentation(ModelElement modelElement)`
    `static EObject` | `getEObject(EObject object)`
    `static Map<String,EObject>` | `getIntrinsicIDToEObjectMap(CDOResource resource)` Returns the map used to cache the EObject that is identified by the `value` of its ID feature.
    `static CDOBranchPointRange` | `getLifetime(CDOObject object)`
    `static EList<Resource>` | `getResources(ResourceSet resourceSet)`
    `static CDORevision` | `getRevisionByVersion(CDOObject object, CDOBranch branch, int version)`
    `static CDORevision` | `getRevisionByVersion(CDOObject object, int version)`
    `static CDOSession` | `getSession(Object object)`
    `static CDOView` | `getView(Notifier notifier)`
    `static CDOView` | `getView(ResourceSet resourceSet, URI uri)`
    `static CDOViewSet` | `getViewSet(Notifier notifier)`
    `static CDOXATransaction` | `getXATransaction(CDOViewSet viewSet)`
    `static boolean` | `isCDOObject(EObject object)`
    `static boolean` | `isInvalidationRunnerActive()` Deprecated. As of 4.0 use CDOView.isInvalidationRunnerActive()
    `static boolean` | `isLegacyModeDefault()` Deprecated. As of 4.2 the legacy mode is always enabled.
    `static boolean` | `isLegacyObject(EObject object)`
    `static boolean` | `isSessionDirty(CDOSession session)` Returns `true` if the given `session` contains a dirty `transaction`, `false` otherwise.
    `static boolean` | `isStaleObject(Object object)`
    `static boolean` | `isWritableObject(EObject eObject)` Queries whether an object is writable (is permitted to be modified in the current view context).
    `static void` | `load(EObject eObject, CDOView view)`
    `static boolean` | `prepareDynamicEPackage(EPackage startPackage)`
    `static boolean` | `registerResourceFactory(Resource.Factory.Registry registry)`
    `static Annotation` | `setAnnotation(ModelElement modelElement, String sourceURI, String key, String value)`
    `static void` | `setCredentialsProvider(URI uri, IPasswordCredentialsProvider provider)`
    `static Annotation` | `setDocumentation(ModelElement modelElement, String value)`
    `static void` | `setIntrinsicIDToEObjectMap(CDOResource resource, Map<String,EObject> intrinsicIDToEObjectMap)` Sets the map used to cache the EObject identified by the value of its ID feature.
    `static void` | `setLegacyModeDefault(boolean on)` Deprecated. As of 4.2 the legacy mode is always enabled.
    `static void` | `setNextViewLock(Lock viewLock)` Sets the `lock` to be used for the next view that is opened in the context of the current thread.
    `static CDOObject` | `wrapExternalObject(EObject object, CDOView view)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CDO_ANNOTATION_URI

          public static final String CDO_ANNOTATION_URI

      Since:
        4.3
      See Also:
        Constant Field Values

    - #### DOCUMENTATION_KEY

          public static final String DOCUMENTATION_KEY

      Since:
        4.3
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### registerResourceFactory

          public static boolean registerResourceFactory(Resource.Factory.Registry registry)

      Since:
        4.0

    - #### getIntrinsicIDToEObjectMap

          public static Map<String,EObject> getIntrinsicIDToEObjectMap(CDOResource resource)

      Returns the map used to cache the EObject that is identified by the `value` of its ID feature.
      Returns:
        the map used to cache the EObject that is identified by the value of its ID feature.
      Since:
        4.2
      See Also:
        `setIntrinsicIDToEObjectMap(org.eclipse.emf.cdo.eresource.CDOResource, java.util.Map<java.lang.String, org.eclipse.emf.ecore.EObject>)`

    - #### setIntrinsicIDToEObjectMap

          public static void setIntrinsicIDToEObjectMap(CDOResource resource,
                                                        Map<String,EObject> intrinsicIDToEObjectMap)

      Sets the map used to cache the EObject identified by the value of its ID feature. This cache is only activated if the map is not `null`. The map will be lazily loaded by the `getEObjectByID` method. It is up to the client to clear the cache when it becomes invalid, e.g., when the ID of a previously mapped EObject is changed.
      Parameters:
        `intrinsicIDToEObjectMap` - the new map or `null`.
      Since:
        4.2
      See Also:
        `getIntrinsicIDToEObjectMap(org.eclipse.emf.cdo.eresource.CDOResource)`

    - #### getSession

          public static CDOSession getSession(Object object)

      Since:
        3.0

    - #### setNextViewLock

          public static void setNextViewLock(Lock viewLock)

      Sets the `lock` to be used for the next view that is opened in the context of the current thread.

      This method is useful, for example, if EMF `adapters` call `Display.syncExec()` in response to CDO notifications. In these cases a `DelegableReentrantLock` can be injected into the new `view`, which does not deadlock when both CDO's invalidation thread and the display thread acquire the view lock.

      This method involves a `ThreadLocal` variable to avoid method explosion in `CDOViewContainer` and `CDOTransactionContainer`. After calling this method make sure to either open a new `view` from the current thread or call `setNextViewLock(null)` to clear the `ThreadLocal` variable.

      Since:
        4.5
      See Also:
        `CDOSession.Options.setDelegableViewLockEnabled(boolean)`

    - #### configureView

          public static void configureView(CDOView view)

      Since:
        4.4

    - #### prepareDynamicEPackage

          public static boolean prepareDynamicEPackage(EPackage startPackage)

      Since:
        2.0

    - #### createCollectionLoadingPolicy

          public static CDOCollectionLoadingPolicy createCollectionLoadingPolicy(int initialChunkSize,
                                                                                 int resolveChunkSize)

      Since:
        2.0

    - #### createRevisionPrefetchingPolicy

          public static CDORevisionPrefetchingPolicy createRevisionPrefetchingPolicy(int chunkSize)

      Since:
        2.0

    - #### createThreadLocalFetchRuleManager

          public static CDOFetchRuleManager createThreadLocalFetchRuleManager()

      Since:
        4.1

    - #### createModelBasedFeatureAnalyzer

          public static CDOFeatureAnalyzer createModelBasedFeatureAnalyzer()

      Since:
        4.1

    - #### createUIFeatureAnalyzer

          public static CDOFeatureAnalyzer createUIFeatureAnalyzer()

      Since:
        4.1

    - #### createUIFeatureAnalyzer

          public static CDOFeatureAnalyzer createUIFeatureAnalyzer(long maxTimeBetweenOperation)

      Since:
        4.1

    - #### createXATransaction

          public static CDOXATransaction createXATransaction(Notifier... notifiers)

      Since:
        4.0

    - #### getXATransaction

          public static CDOXATransaction getXATransaction(CDOViewSet viewSet)

      Since:
        2.0

    - #### getViewSet

          public static CDOViewSet getViewSet(Notifier notifier)

      Since:
        4.0

    - #### getView

          public static CDOView getView(Notifier notifier)

      Since:
        4.4

    - #### getView

          public static CDOView getView(ResourceSet resourceSet,
                                        URI uri)

      Since:
        4.4

    - #### isStaleObject

          public static boolean isStaleObject(Object object)

      Since:
        3.0

    - #### cleanStaleReference

          public static void cleanStaleReference(EObject eObject,
                                                 EStructuralFeature eFeature)

      Since:
        3.0

    - #### cleanStaleReference

          public static void cleanStaleReference(EObject eObject,
                                                 EStructuralFeature eFeature,
                                                 int index)

      Since:
        3.0

    - #### load

          public static void load(EObject eObject,
                                  CDOView view)

      Since:
        2.0

    - #### wrapExternalObject

          public static CDOObject wrapExternalObject(EObject object,
                                                     CDOView view)

      Since:
        4.2

    - #### getEObject

          public static EObject getEObject(EObject object)

      Since:
        2.0

    - #### getCDOObject

          public static CDOObject getCDOObject(EObject object)

      Since:
        2.0

    - #### getCDOObject

          public static CDOObject getCDOObject(EObject object,
                                               boolean adaptLegacy)

      Since:
        4.4

    - #### getCDOObjects

          public static List<? extends CDOObject> getCDOObjects(EObject... objects)

      Since:
        4.6

    - #### getCDOObjects

          public static List<? extends CDOObject> getCDOObjects(List<? extends EObject> objects)

      Since:
        4.6

    - #### isCDOObject

          public static boolean isCDOObject(EObject object)

      Since:
        4.4

    - #### createBranch

          public static CDOBranch createBranch(CDOBranchPoint base,
                                               String name)

      Since:
        4.6

    - #### filterReadables

          public static <T extends EObject> EList<T> filterReadables(Collection<T> collection)

      Since:
        4.3

    - #### getLifetime

          public static CDOBranchPointRange getLifetime(CDOObject object)

      Since:
        4.4

    - #### getRevisionByVersion

          public static CDORevision getRevisionByVersion(CDOObject object,
                                                         int version)

      Since:
        2.0

    - #### getRevisionByVersion

          public static CDORevision getRevisionByVersion(CDOObject object,
                                                         CDOBranch branch,
                                                         int version)

      Since:
        3.0

    - #### getResources

          public static EList<Resource> getResources(ResourceSet resourceSet)

      Since:
        2.0

    - #### isSessionDirty

          public static boolean isSessionDirty(CDOSession session)

      Returns `true` if the given `session` contains a dirty `transaction`, `false` otherwise.
      Since:
        2.0
      See Also:
        `CDOTransaction`

    - #### isInvalidationRunnerActive

          @Deprecated
          public static boolean isInvalidationRunnerActive()

      Deprecated. As of 4.0 use CDOView.isInvalidationRunnerActive()
      Since:
        3.0

    - #### isWritableObject

          public static boolean isWritableObject(EObject eObject)

      Queries whether an object is writable (is permitted to be modified in the current view context).
      Parameters:
        `eObject` - an object
      Returns:
        `false` if the `eObject` is managed by CDO and does not have write permission; `true`, otherwise
      Since:
        4.3

    - #### isLegacyObject

          public static boolean isLegacyObject(EObject object)

      Since:
        3.0

    - #### isLegacyModeDefault

          @Deprecated
          public static boolean isLegacyModeDefault()

      Deprecated. As of 4.2 the legacy mode is always enabled.
      Since:
        3.0

    - #### setLegacyModeDefault

          @Deprecated
          public static void setLegacyModeDefault(boolean on)

      Deprecated. As of 4.2 the legacy mode is always enabled.
      Since:
        3.0

    - #### setCredentialsProvider

          public static void setCredentialsProvider(URI uri,
                                                    IPasswordCredentialsProvider provider)

      Since:
        4.0

    - #### getAnnotation

          public static String getAnnotation(ModelElement modelElement,
                                             String sourceURI,
                                             String key)

      Since:
        4.3

    - #### setAnnotation

          public static Annotation setAnnotation(ModelElement modelElement,
                                                 String sourceURI,
                                                 String key,
                                                 String value)

      Since:
        4.3

    - #### getDocumentation

          public static String getDocumentation(ModelElement modelElement)

      Since:
        4.3

    - #### setDocumentation

          public static Annotation setDocumentation(ModelElement modelElement,
                                                    String value)

      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