Class CDOUtil


  • public final class CDOUtil
    extends java.lang.Object
    Various static methods that may help in CDO client applications.
    Author:
    Eike Stepper
    • Field Detail

      • PROP_VIEW_CONFIGURATOR

        public static final java.lang.String PROP_VIEW_CONFIGURATOR
        Since:
        4.14
        See Also:
        Constant Field Values
      • PROP_VIEW_CONFIGURATOR_TYPE

        public static final java.lang.String PROP_VIEW_CONFIGURATOR_TYPE
        Since:
        4.14
        See Also:
        Constant Field Values
      • PROP_VIEW_CONFIGURATOR_DESCRIPTION

        public static final java.lang.String PROP_VIEW_CONFIGURATOR_DESCRIPTION
        Since:
        4.14
        See Also:
        Constant Field Values
      • CDO_ANNOTATION_URI

        public static final java.lang.String CDO_ANNOTATION_URI
        Since:
        4.3
        See Also:
        Constant Field Values
      • DOCUMENTATION_KEY

        public static final java.lang.String DOCUMENTATION_KEY
        Since:
        4.3
        See Also:
        Constant Field Values
    • Method Detail

      • setIntrinsicIDToEObjectMap

        public static void setIntrinsicIDToEObjectMap​(CDOResource resource,
                                                      java.util.Map<java.lang.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​(java.lang.Object object)
        Since:
        3.0
      • setNextViewLock

        public static void setNextViewLock​(java.util.concurrent.locks.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
      • getView

        public static CDOView getView​(Notifier notifier)
        Since:
        4.4
      • isStaleObject

        public static boolean isStaleObject​(java.lang.Object object)
        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
      • 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 java.util.List<? extends CDOObject> getCDOObjects​(EObject... objects)
        Since:
        4.6
      • getCDOObjects

        public static java.util.List<? extends CDOObject> getCDOObjects​(java.util.Collection<? extends EObject> objects)
        Since:
        4.6
      • isCDOObject

        public static boolean isCDOObject​(EObject object)
        Since:
        4.4
      • filterReadables

        public static <T extends EObjectEList<T> filterReadables​(java.util.Collection<T> collection)
        Since:
        4.3
      • getRevisionByVersion

        public static CDORevision getRevisionByVersion​(CDOObject object,
                                                       int version)
        Since:
        2.0
      • 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 java.lang.String getAnnotation​(ModelElement modelElement,
                                                     java.lang.String sourceURI,
                                                     java.lang.String key)
        Since:
        4.3
      • setAnnotation

        public static Annotation setAnnotation​(ModelElement modelElement,
                                               java.lang.String sourceURI,
                                               java.lang.String key,
                                               java.lang.String value)
        Since:
        4.3
      • getDocumentation

        public static java.lang.String getDocumentation​(ModelElement modelElement)
        Since:
        4.3
      • setDocumentation

        public static Annotation setDocumentation​(ModelElement modelElement,
                                                  java.lang.String value)
        Since:
        4.3
      • openInputStream

        public static java.io.InputStream openInputStream​(CDOResourceLeaf leaf)
                                                   throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        4.13
      • openInputStream

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