OpenSplice Java 5 DCPS  v6.x
OpenSplice Java 5 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
org.omg.dds.core.policy.Presentation Interface Reference

Specifies how the samples representing changes to data instances are presented to the subscribing application. More...

Inheritance diagram for org.omg.dds.core.policy.Presentation:
Inheritance graph
Collaboration diagram for org.omg.dds.core.policy.Presentation:
Collaboration graph

Classes

enum  AccessScopeKind
 

Public Member Functions

AccessScopeKind getAccessScope ()
 
ServiceEnvironment getEnvironment ()
 
boolean isCoherentAccess ()
 If coherentAccess is set, then the accessScope controls the maximum extent of coherent changes. More...
 
boolean isOrderedAccess ()
 If orderedAccess is set, then the accessScope controls the maximum extent for which order will be preserved by the Service. More...
 
Comparable< SELF > requestedOfferedContract ()
 Use the object returned by this method to evaluate the Request/Offer relationship with another instance of this policy. More...
 
Presentation withAccessScope (AccessScopeKind accessScope)
 Copy this policy and override the value of the property. More...
 
Presentation withCoherentAccess (boolean coherentAccess)
 Copy this policy and override the value of the property. More...
 
Presentation withGroup ()
 
Presentation withInstance ()
 
Presentation withOrderedAccess (boolean orderedAccess)
 Copy this policy and override the value of the property. More...
 
Presentation withTopic ()
 

Detailed Description

Specifies how the samples representing changes to data instances are presented to the subscribing application.

This policy affects the application's ability to specify and receive coherent changes and to see the relative order of changes. The accessScope determines the largest scope spanning the entities for which the order and coherency of changes can be preserved. The two booleans control whether coherent access and ordered access are supported within the scope accessScope.

Concerns: org.omg.dds.pub.Publisher, org.omg.dds.sub.Subscriber

RxO: Yes

Changeable: No

This QoS policy controls the extent to which changes to data instances can be made dependent on each other and also the kind of dependencies that can be propagated and maintained by the Service.

The setting of coherentAccess controls whether the Service will preserve the groupings of changes made by the publishing application by means of the operations org.omg.dds.pub.Publisher#beginCoherentChanges() and org.omg.dds.pub.Publisher#endCoherentChanges().

The setting of orderedAccess controls whether the Service will preserve the order of changes.

The granularity is controlled by the setting of the accessScope.

Note that this QoS policy controls the scope at which related changes are made available to the subscriber. This means the subscriber can access the changes in a coherent manner and in the proper order; however, it does not necessarily imply that the Subscriber will indeed access the changes in the correct order. For that to occur, the application at the subscriber end must use the proper logic in reading the DataReader objects.

The value offered is considered compatible with the value requested if and only if the following conditions are met:

  1. The inequality "offered access_scope &gt;= requested access_scope" evaluates to true. For the purposes of this inequality, the values of Presentation.AccessScopeKind are considered ordered such that INSTANCE < TOPIC < GROUP.
  2. Requested coherentAccess is false, or else both offered and requested coherentAccess are true.
  3. Requested orderedAccess is false, or else both offered and requested orderedAccess are true.

Definition at line 74 of file Presentation.java.

Member Function Documentation

◆ getAccessScope()

AccessScopeKind org.omg.dds.core.policy.Presentation.getAccessScope ( )
Returns
the accessScope

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ getEnvironment()

ServiceEnvironment org.omg.dds.core.DDSObject.getEnvironment ( )
inherited
Returns
the org.omg.dds.core.ServiceEnvironment object that directly or indirectly was used to create this object.

Implemented in org.omg.dds.core.ServiceEnvironment, org.opensplice.dds.sub.ReflectionDataReader< TYPE, OUT_TYPE >, org.opensplice.dds.core.ModifiableTimeImpl, org.opensplice.dds.pub.ReflectionDataWriter< TYPE >, org.opensplice.dds.core.DurationImpl, org.opensplice.dds.topic.ContentFilteredTopicImpl< TYPE >, org.opensplice.dds.sub.ReadConditionImpl< TYPE >, org.opensplice.dds.core.EntityQosImpl< T extends QosPolicy >, org.opensplice.dds.type.TypeSupportImpl< TYPE >, org.opensplice.dds.topic.PublicationBuiltinTopicDataImpl, org.opensplice.dds.topic.SubscriptionBuiltinTopicDataImpl, org.opensplice.dds.topic.TopicBuiltinTopicDataImpl, org.opensplice.dds.domain.DomainParticipantFactoryImpl, org.opensplice.dds.core.QosProviderImpl, org.opensplice.dds.core.status.OfferedIncompatibleQosStatusImpl, org.opensplice.dds.core.status.RequestedIncompatibleQosStatusImpl, org.opensplice.dds.core.InstanceHandleImpl, org.opensplice.dds.core.StatusConditionImpl< T extends Entity<?, ?>, org.opensplice.dds.core.status.LivelinessChangedStatusImpl, org.opensplice.dds.core.status.PublicationMatchedStatusImpl, org.opensplice.dds.core.status.SubscriptionMatchedStatusImpl, org.opensplice.dds.sub.SampleImpl< TYPE >, org.opensplice.dds.core.policy.ShareImpl, org.opensplice.dds.core.status.OfferedDeadlineMissedStatusImpl, org.opensplice.dds.core.status.SampleRejectedStatusImpl, org.opensplice.dds.core.WaitSetImpl, org.opensplice.dds.topic.ParticipantBuiltinTopicDataImpl, org.opensplice.dds.core.status.RequestedDeadlineMissedStatusImpl, org.opensplice.dds.topic.BuiltinTopicKeyImpl, org.opensplice.dds.core.GuardConditionImpl, org.opensplice.dds.core.event.AllDataDisposedEventImpl< TYPE >, org.opensplice.dds.core.policy.QosPolicyCountImpl, org.opensplice.dds.core.status.InconsistentTopicStatusImpl, org.opensplice.dds.core.status.LivelinessLostStatusImpl, org.opensplice.dds.core.status.SampleLostStatusImpl, org.opensplice.dds.core.policy.QosPolicyImpl, org.opensplice.dds.core.status.AllDataDisposedStatusImpl, org.opensplice.dds.core.IllegalArgumentExceptionImpl, org.opensplice.dds.core.InconsistentPolicyExceptionImpl, org.opensplice.dds.core.policy.PolicyFactoryImpl, org.opensplice.dds.core.policy.TypeConsistencyEnforcementImpl, org.opensplice.dds.core.PreconditionNotMetExceptionImpl, org.opensplice.dds.core.AlreadyClosedExceptionImpl, org.opensplice.dds.core.IllegalOperationExceptionImpl, org.opensplice.dds.core.ImmutablePolicyExceptionImpl, org.opensplice.dds.core.NotEnabledExceptionImpl, org.opensplice.dds.core.OutOfResourcesExceptionImpl, org.opensplice.dds.core.DDSExceptionImpl, org.opensplice.dds.core.status.DataAvailableStatusImpl, and org.opensplice.dds.core.status.DataOnReadersStatusImpl.

◆ isCoherentAccess()

boolean org.omg.dds.core.policy.Presentation.isCoherentAccess ( )

If coherentAccess is set, then the accessScope controls the maximum extent of coherent changes.

The behavior is as follows:

See also
getAccessScope()

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ isOrderedAccess()

boolean org.omg.dds.core.policy.Presentation.isOrderedAccess ( )

If orderedAccess is set, then the accessScope controls the maximum extent for which order will be preserved by the Service.

  • If accessScope is set to Presentation.AccessScopeKind#INSTANCE (the lowest level), then changes to each instance are considered unordered relative to changes to any other instance. That means that changes (creations, deletions, modifications) made to two instances are not necessarily seen in the order they occur. This is the case even if it is the same application thread making the changes using the same org.omg.dds.pub.DataWriter.
  • If accessScope is set to Presentation.AccessScopeKind#TOPIC, changes (creations, deletions, modifications) made by a single org.omg.dds.pub.DataWriter are made available to subscribers in the same order they occur. Changes made to instances through different DataWriter entities are not necessarily seen in the order they occur. This is the case, even if the changes are made by a single application thread using DataWriter objects attached to the same org.omg.dds.pub.Publisher.
  • Finally, if accessScope is set to Presentation.AccessScopeKind#GROUP, changes made to instances via DataWriter entities attached to the same Publisher object are made available to subscribers on the same order they occur.
See also
getAccessScope()

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ requestedOfferedContract()

Comparable<SELF> org.omg.dds.core.policy.RequestedOffered< SELF >.requestedOfferedContract ( )
inherited

Use the object returned by this method to evaluate the Request/Offer relationship with another instance of this policy.

If this policy is offered by a org.omg.dds.pub.DataWriter (or org.omg.dds.pub.Publisher), any other policy evaluated as less than or equal to it by the Comparable may be compatibly requested by a org.omg.dds.sub.DataReader (or org.omg.dds.sub.Subscriber). Similarly, if this policy is requested, any other policy that is greater than or equal to it may be compatibly offered.

Returns
a Comparable object capable of evaluating the Request/Offer relationship between two instances of the QoS policy identified by the type parameter SELF.

◆ withAccessScope()

Presentation org.omg.dds.core.policy.Presentation.withAccessScope ( AccessScopeKind  accessScope)

Copy this policy and override the value of the property.

Parameters
accessScopeSpecifies the granularity of the changes that needs to be preserved when communicating a set of samples and the granularity of the ordering in which these changes need to be presented to the user.
Returns
a new Presentation policy

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ withCoherentAccess()

Presentation org.omg.dds.core.policy.Presentation.withCoherentAccess ( boolean  coherentAccess)

Copy this policy and override the value of the property.

Parameters
coherentAccessControls whether the Data Distribution Service will preserve the groupings of changes, as indicated by the access_scope, made by a publishing application by means of the operations begin_coherent_change and end_coherent_change.
Returns
a new Presentation policy

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ withGroup()

Presentation org.omg.dds.core.policy.Presentation.withGroup ( )
Returns
a new group Presentation policy

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ withInstance()

Presentation org.omg.dds.core.policy.Presentation.withInstance ( )
Returns
a new instance Presentation policy

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ withOrderedAccess()

Presentation org.omg.dds.core.policy.Presentation.withOrderedAccess ( boolean  orderedAccess)

Copy this policy and override the value of the property.

Parameters
orderedAccessControls whether the Data Distribution Service will preserve the order of the changes, as indicated by the access_scope.
Returns
a new Presentation policy

Implemented in org.opensplice.dds.core.policy.PresentationImpl.

◆ withTopic()

Presentation org.omg.dds.core.policy.Presentation.withTopic ( )
Returns
a new topic Presentation policy

Implemented in org.opensplice.dds.core.policy.PresentationImpl.


The documentation for this interface was generated from the following file: