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

Specifies the behavior of the org.omg.dds.pub.DataWriter with regards to the life cycle of the data instances it manages. More...

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

Public Member Functions

ServiceEnvironment getEnvironment ()
 
boolean isAutDisposeUnregisteredInstances ()
 
WriterDataLifecycle withAutDisposeUnregisteredInstances (boolean autDisposeUnregisteredInstances)
 Copy this policy and override the value of the property. More...
 

Detailed Description

Specifies the behavior of the org.omg.dds.pub.DataWriter with regards to the life cycle of the data instances it manages.

Concerns: org.omg.dds.pub.DataWriter

RxO: N/A

Changeable: Yes

This policy controls the behavior of the DataWriter with regards to the lifecycle of the data instances it manages, that is, the data instances that have been either explicitly registered with the DataWriter using the org.omg.dds.pub.DataWriter#registerInstance(Object) operations or implicitly by directly writing the data (see org.omg.dds.pub.DataWriter#write(Object)).

The autodisposeUnregisteredInstances flag controls the behavior when the DataWriter unregisters an instance by means of the org.omg.dds.pub.DataWriter#unregisterInstance(org.omg.dds.core.InstanceHandle) operations:

  • The setting "autodisposeUnregisteredInstances = true' causes the DataWriter to dispose the instance each time it is unregistered. The behavior is identical to explicitly calling one of the org.omg.dds.pub.DataWriter#dispose(org.omg.dds.core.InstanceHandle) operations on the instance prior to calling the unregister operation.

  • The setting 'autodisposeUnregisteredInstances = false' will not cause this automatic disposition upon unregistering. The application can still call one of the dispose operations prior to unregistering the instance and accomplish the same effect. Refer to Section 7.1.3.23.3 of the DDS specification, "Semantic difference between unregister_instance and dispose", for a description of the consequences of disposing and unregistering instances.

Note that the deletion of a DataWriter automatically unregisters all data instances it manages (see org.omg.dds.pub.DataWriter#close()). Therefore the setting of the autodisposeUnregisteredInstances flag will determine whether instances are ultimately disposed when the DataWriter is deleted either directly by means of the org.omg.dds.pub.DataWriter#close() operation or indirectly as a consequence of calling org.omg.dds.pub.Publisher#closeContainedEntities() or org.omg.dds.domain.DomainParticipant#closeContainedEntities().

For DataWriters associated with TRANSIENT and PERSISTENT topics setting the autodispose_unregister_instances attribute to true would mean that all instances that are not explicitly unregistered by the application will by default be removed from the Transient and Persistent stores when the DataWriter is deleted, or when a loss of liveliness is detected.

Definition at line 75 of file WriterDataLifecycle.java.

Member Function Documentation

◆ 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.

◆ isAutDisposeUnregisteredInstances()

boolean org.omg.dds.core.policy.WriterDataLifecycle.isAutDisposeUnregisteredInstances ( )
Returns
the autDisposeUnregisteredInstances

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

◆ withAutDisposeUnregisteredInstances()

WriterDataLifecycle org.omg.dds.core.policy.WriterDataLifecycle.withAutDisposeUnregisteredInstances ( boolean  autDisposeUnregisteredInstances)

Copy this policy and override the value of the property.

Parameters
autDisposeUnregisteredInstancesSpecifies whether the Data Distribution Service should automatically dispose instances that are unregistered by this DataWriter. By default this value is true.
Returns
a new WriterDataLifecycle policy

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


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