Interface CDOView.Options

  • All Superinterfaces:
    CDOCommonView.Options, org.eclipse.net4j.util.event.INotifier, org.eclipse.net4j.util.options.IOptions
    All Known Subinterfaces:
    CDOTransaction.Options
    Enclosing interface:
    CDOView

    public static interface CDOView.Options
    extends CDOCommonView.Options
    Encapsulates a set of notifying view configuration options.
    Author:
    Simon McDuff
    No Implement
    This interface is not intended to be implemented by clients.
    No Extend
    This interface is not intended to be extended by clients.
    • Field Detail

      • DEFAULT_REVISION_PREFETCHING

        static final int DEFAULT_REVISION_PREFETCHING
        Since:
        3.0
        See Also:
        Constant Field Values
    • Method Detail

      • getContainer

        CDOView getContainer()
        Returns the view of this options object.
        Specified by:
        getContainer in interface org.eclipse.net4j.util.options.IOptions
        Since:
        4.0
      • isLoadNotificationEnabled

        boolean isLoadNotificationEnabled()
        Returns true if the objects in this view will notify their adapters about the fact that they are loaded, false otherwise.
        Since:
        4.1
      • setLoadNotificationEnabled

        void setLoadNotificationEnabled​(boolean enabled)
        Specifies whether the objects in this view will notify their adapters about the fact that they are loaded or not.
        Since:
        4.1
      • isDetachmentNotificationEnabled

        boolean isDetachmentNotificationEnabled()
        Returns true if the objects in this view will notify their adapters about the fact that they are detached (due to remote changes), false otherwise.
        Since:
        4.1
        See Also:
        CDONotification.DETACH_OBJECT
      • setDetachmentNotificationEnabled

        void setDetachmentNotificationEnabled​(boolean enabled)
        Specifies whether the objects in this view will notify their adapters about the fact that they are detached (due to remote changes) or not.
        Since:
        4.1
        See Also:
        CDONotification.DETACH_OBJECT
      • isInvalidationNotificationEnabled

        boolean isInvalidationNotificationEnabled()
        Returns true if the objects in this view will notify their adapters about the fact that they are invalidated (due to remote changes), false otherwise.
        See Also:
        CDOInvalidationNotification
      • setInvalidationNotificationEnabled

        void setInvalidationNotificationEnabled​(boolean enabled)
        Specifies whether the objects in this view will notify their adapters about the fact that they are invalidated (due to remote changes) or not.
        See Also:
        CDOInvalidationNotification
      • addChangeSubscriptionPolicy

        void addChangeSubscriptionPolicy​(CDOAdapterPolicy policy)
        Adds a change subscription policy to this view.

        To activate a policy, you must do the following:
        view.options().addChangeSubscriptionPolicy(CDOChangeSubscriptionPolicy.ALL);

        To register an object, you must add an adapter to the object in which you are interested:
        eObject.eAdapters().add(myAdapter);

        By activating this feature, each object having at least one adapter that matches the current policy will be registered with the server and will be notified for each change occurring in the scope of any other transaction.

        If myAdapter in the above example matches the current policy, eObject will be registered with the server and you will receive all changes from other transaction.

        When the policy is changed all objects in the cache will automatically be recalculated.

        You can subscribe to temporary objects. Even if you cannot receive notifications from other CDOTransaction for these because they are only local to you, at commit time these objects will be registered automatically.

        See Also:
        removeChangeSubscriptionPolicy(CDOAdapterPolicy), getChangeSubscriptionPolicies()
      • getCacheReferenceType

        org.eclipse.net4j.util.ref.ReferenceType getCacheReferenceType()
        Returns the reference type to be used in the internal object cache.
        Returns:
        Either STRONG, SOFT or WEAK.
      • setCacheReferenceType

        boolean setCacheReferenceType​(org.eclipse.net4j.util.ref.ReferenceType referenceType)
        Sets the reference type to be used in the internal object cache to either STRONG, SOFT or WEAK. If null is passed the default reference type SOFT is set. If the given reference type does not differ from the one being currently set the new value is ignored and false is returned. Otherwise existing object references are converted to the new type and true is returned.
      • setStrongReferencePolicy

        void setStrongReferencePolicy​(CDOAdapterPolicy policy)
        Sets the policy that determines what object/adapter pairs of this view are supposed to be protected against garbage collection.

        A view uses references of the type determined by getCacheReferenceType() to hold on to loaded objects. If this type is not STRONG and the application does not hold other strong references to an object then this object and possibly any adapters attached to this object are subject to garbage collection.

        To avoid automatic garbage collection while specific adapters are attached to an object this view calls the CDOAdapterPolicy.isValid() method for all adapters that are attached to this object. An extra strong reference to this object is maintained if any of these calls return true.

        The following adapter policies can be used as strong reference policies:

        The default strong reference policy is CDOAdapterPolicy.ALL, preventing garbage collection for all adapted objects.

        See Also:
        getStrongReferencePolicy()
      • getStaleReferencePolicy

        CDOStaleReferencePolicy getStaleReferencePolicy()
        Returns the CDOStaleReferencePolicy in use.
        Since:
        4.1
      • setStaleReferencePolicy

        void setStaleReferencePolicy​(CDOStaleReferencePolicy policy)
        Sets a policy on how to deal with stale references.
        Since:
        4.1
      • getRevisionPrefetchingPolicy

        CDORevisionPrefetchingPolicy getRevisionPrefetchingPolicy()
        Returns the CDORevisionPrefetchingPolicy in use.
      • setRevisionPrefetchingPolicy

        void setRevisionPrefetchingPolicy​(CDORevisionPrefetchingPolicy prefetchingPolicy)
        The CDORevisionPrefetchingPolicy feature of the CDOView allows CDO users to fetch many objects at a time.

        The difference between the CDOCollectionLoadingPolicy feature and the CDORevisionPrefetchingPolicy feature is subtle. The CDOCollectionLoadingPolicy feature determines how and when to fetch CDOIDs, while the CDORevisionPrefetchingPolicy feature determines how and when to resolve CDOIDs (i.e. fetch the target objects).

        view.options().setRevisionPrefetchingPolicy (CDONet4jUtil.createRevisionPrefetchingPolicy(10));

        The end-user could provide its own implementation of the CDORevisionPrefetchingPolicy interface.

      • setFeatureAnalyzer

        void setFeatureAnalyzer​(CDOFeatureAnalyzer featureAnalyzer)
        Since:
        4.1
      • setClearAdapterPolicy

        void setClearAdapterPolicy​(CDOAdapterPolicy policy)
        Since:
        4.12