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 Details

  • Method Details

    • 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

      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:
    • 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:
    • 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
    • isReadable

      public static boolean isReadable(EObject object)
      Since:
      4.23
    • isWritable

      public static boolean isWritable(EObject object)
      Since:
      4.23
    • 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(Collection<? 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
    • getRevisionDelta

      public static CDORevisionDelta getRevisionDelta(CDOObject object)
      Since:
      4.20
    • 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:
    • 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, org.eclipse.net4j.util.security.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
    • openInputStream

      public static InputStream openInputStream(CDOResourceLeaf leaf) throws IOException
      Throws:
      IOException
      Since:
      4.13
    • openInputStream

      public static InputStream openInputStream(CDOLob<?> lob, String encoding) throws IOException
      Throws:
      IOException
      Since:
      4.13