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
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.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic interfacestatic interfacestatic interfaceAnoptions eventfired from viewoptionswhen thedetachment notification enabledoption has changed.static interfacestatic interfaceAnoptions eventfired from viewoptionswhen theinvalidation notification enabledoption has changed.static interfacestatic interfacestatic interfaceDeprecated.static interfacestatic interfacestatic interfaceNested classes/interfaces inherited from interface org.eclipse.emf.cdo.common.CDOCommonView.Options
CDOCommonView.Options.LockNotificationEventNested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier
org.eclipse.net4j.util.event.INotifier.INotifier2 -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final int -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a change subscription policy to this view.org.eclipse.net4j.util.ref.ReferenceTypeReturns the reference type to be used in the internal object cache.Returns the current set ofchange subscription policies.The returned adapter policy may optionally implementCDOListWrapper, seeCDOObjectImpl.eAdapters().Returns theviewof this options object.Returns the CDORevisionPrefetchingPolicy in use.Deprecated.Returns the CDOStaleReferencePolicy in use.Returns the strong reference policy in use.booleanbooleanbooleanvoidRemoves a change subscription policy from this view.booleansetCacheReferenceType(org.eclipse.net4j.util.ref.ReferenceType referenceType) Sets the reference type to be used in the internal object cache to eitherSTRONG,SOFTorWEAK.voidvoidsetDetachmentNotificationEnabled(boolean enabled) voidsetFeatureAnalyzer(CDOFeatureAnalyzer featureAnalyzer) voidsetInvalidationNotificationEnabled(boolean enabled) voidvoidsetLoadNotificationEnabled(boolean enabled) voidsetRevisionPrefetchingPolicy(CDORevisionPrefetchingPolicy prefetchingPolicy) The CDORevisionPrefetchingPolicy feature of the CDOView allows CDO users to fetch many objects at a time.voidDeprecated.voidSets a policy on how to deal with stale references.voidSets the policy that determines what object/adapter pairs of thisvieware supposed to be protected against garbage collection.Methods inherited from interface org.eclipse.emf.cdo.common.CDOCommonView.Options
isLockNotificationEnabled, setLockNotificationEnabledMethods inherited from interface org.eclipse.net4j.util.event.INotifier
addListener, getListeners, hasListeners, removeListener
-
Field Details
-
DEFAULT_REVISION_PREFETCHING
static final int DEFAULT_REVISION_PREFETCHING- Since:
- 3.0
- See Also:
-
NO_REVISION_PREFETCHING
static final int NO_REVISION_PREFETCHING- See Also:
-
-
Method Details
-
getContainer
CDOView getContainer()Returns theviewof this options object.- Specified by:
getContainerin interfaceorg.eclipse.net4j.util.options.IOptions- Since:
- 4.0
-
isLoadNotificationEnabled
boolean isLoadNotificationEnabled()Returnstrueif theobjectsin this view will notify theiradaptersabout the fact that they are loaded,falseotherwise.- Since:
- 4.1
-
setLoadNotificationEnabled
void setLoadNotificationEnabled(boolean enabled) Specifies whether theobjectsin this view will notify theiradaptersabout the fact that they are loaded or not.- Since:
- 4.1
-
isDetachmentNotificationEnabled
boolean isDetachmentNotificationEnabled()Returnstrueif theobjectsin this view will notify theiradaptersabout the fact that they are detached (due to remote changes),falseotherwise.- Since:
- 4.1
- See Also:
-
setDetachmentNotificationEnabled
void setDetachmentNotificationEnabled(boolean enabled) Specifies whether theobjectsin this view will notify theiradaptersabout the fact that they are detached (due to remote changes) or not.- Since:
- 4.1
- See Also:
-
isInvalidationNotificationEnabled
boolean isInvalidationNotificationEnabled()Returnstrueif theobjectsin this view will notify theiradaptersabout the fact that they are invalidated (due to remote changes),falseotherwise.- See Also:
-
setInvalidationNotificationEnabled
void setInvalidationNotificationEnabled(boolean enabled) Specifies whether theobjectsin this view will notify theiradaptersabout the fact that they are invalidated (due to remote changes) or not.- See Also:
-
getInvalidationPolicy
CDOInvalidationPolicy getInvalidationPolicy()- Since:
- 3.0
-
setInvalidationPolicy
- Since:
- 3.0
-
getChangeSubscriptionPolicies
CDOAdapterPolicy[] getChangeSubscriptionPolicies()Returns the current set ofchange subscription policies.- Returns:
- The current set of change subscription policies, never
null. - See Also:
-
addChangeSubscriptionPolicy
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.
CDOAdapterPolicy.NONE- Ignored.CDOAdapterPolicy.ALL- Enabled for all adapters used.CDOAdapterPolicy.CDO- Enabled only for adapters that implementCDOAdapter.- Any other class that implements
CDOAdapterPolicywill enable for whatever rules defined in that class.
If
myAdapterin the above example matches the current policy,eObjectwill 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
CDOTransactionfor these because they are only local to you, at commit time these objects will be registered automatically. -
removeChangeSubscriptionPolicy
Removes a change subscription policy from this view. -
getCacheReferenceType
org.eclipse.net4j.util.ref.ReferenceType getCacheReferenceType()Returns the reference type to be used in the internal object cache.- Returns:
- Either
STRONG,SOFTorWEAK.
-
setCacheReferenceType
boolean setCacheReferenceType(org.eclipse.net4j.util.ref.ReferenceType referenceType) Sets the reference type to be used in the internal object cache to eitherSTRONG,SOFTorWEAK. Ifnullis passed the default reference typeSOFTis set. If the given reference type does not differ from the one being currently set the new value is ignored andfalseis returned. Otherwise existing object references are converted to the new type andtrueis returned. -
getStrongReferencePolicy
CDOAdapterPolicy getStrongReferencePolicy()Returns the strong reference policy in use. -
setStrongReferencePolicy
Sets the policy that determines what object/adapter pairs of thisvieware 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 notSTRONGand 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 returntrue.The following adapter policies can be used as strong reference policies:
CDOAdapterPolicy.NONE- No adapter will prevent GC.CDOAdapterPolicy.ALL- Any adapter prevent GC.CDOAdapterPolicy.CDO- Only adapters that implementCDOAdapterwill prevent GC.- Any other class that implements
CDOAdapterPolicywill prevent GC according to whatever rules defined in that class.
The default strong reference policy is
CDOAdapterPolicy.ALL, preventing garbage collection for all adapted objects.- See Also:
-
getStaleReferenceBehaviour
Deprecated.Returns the CDOStaleReferencePolicy in use.- Since:
- 3.0
-
setStaleReferenceBehaviour
Deprecated.Sets a policy on how to deal with stale references.- Since:
- 3.0
-
getStaleReferencePolicy
CDOStaleReferencePolicy getStaleReferencePolicy()Returns the CDOStaleReferencePolicy in use.- Since:
- 4.1
-
setStaleReferencePolicy
Sets a policy on how to deal with stale references.- Since:
- 4.1
-
getRevisionPrefetchingPolicy
CDORevisionPrefetchingPolicy getRevisionPrefetchingPolicy()Returns the CDORevisionPrefetchingPolicy in use. -
setRevisionPrefetchingPolicy
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.
-
getFeatureAnalyzer
CDOFeatureAnalyzer getFeatureAnalyzer()- Since:
- 4.1
-
setFeatureAnalyzer
- Since:
- 4.1
-
getClearAdapterPolicy
CDOAdapterPolicy getClearAdapterPolicy()The returned adapter policy may optionally implementCDOListWrapper, seeCDOObjectImpl.eAdapters().- Since:
- 4.12
-
setClearAdapterPolicy
- Since:
- 4.12
-
CDOView.Options.StrongReferencePolicyEventinstead.