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

This policy allows the introduction of a logical partition concept inside the "physical" partition induced by a domain. More...

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

Public Member Functions

ServiceEnvironment getEnvironment ()
 
Set< String > getName ()
 
Partition withName (Collection< String > name)
 Copy this policy and override the value of the property. More...
 
Partition withName (String name)
 Copy this policy and override the value of the property. More...
 
Partition withName (String... names)
 Copy this policy and override the value of the property. More...
 

Detailed Description

This policy allows the introduction of a logical partition concept inside the "physical" partition induced by a domain.

It consists of a set of strings that introduces a logical partition among the topics visible by the org.omg.dds.pub.Publisher and org.omg.dds.sub.Subscriber.

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

RxO: No

Changeable: Yes

A org.omg.dds.pub.DataWriter within a Publisher only communicates with a org.omg.dds.sub.DataReader in a Subscriber if (in addition to matching the Topic and having compatible QoS) the Publisher and Subscriber have a common partition name string. Each string in the collection that defines this QoS policy defines a partition name. A partition name may contain wild cards. Sharing a common partition means that one of the partition names matches.

Failure to match partitions is not considered an "incompatible" QoS and does not trigger any listeners nor conditions.

This policy is changeable. A change of this policy can potentially modify the "match" of existing DataReader and DataWriter entities. It may establish new "matches" that did not exist before, or break existing matches.

The empty string ("") is considered a valid partition that is matched with other partition names using the same rules of string matching and regular expression matching used for any other partition name.

The default value for is a zero-size collection. The zero-size collection is treated as a special value equivalent to a collection containing a single element consisting of the empty string.

This policy is changeable. A change of this policy can potentially modify the "match" of existing DataReader and DataWriter entities. It may establish new "matches" that did not exist before, or break existing matches.

PARTITION names can be regular expressions and include wild cards as defined by the POSIX fnmatch API (1003.2-1992 section B.6). Either org.omg.dds.pub.Publisher or org.omg.dds.sub.Subscriber may include regular expressions in partition names, but no two names that both contain wild cards will ever be considered to match. This means that although regular expressions may be used both at publisher as well as subscriber side, the service will not try to match two regular expressions (between publishers and subscribers).

Partitions are different from creating org.omg.dds.core.Entity objects in different domains in several ways. First, entities belonging to different domains are completely isolated from each other; there is no traffic, meta-traffic or any other way for an application or the Service itself to see entities in a domain it does not belong to. Second, an Entity can only belong to one domain whereas an Entity can be in multiple partitions. Finally, as far as the DDS Service is concerned, each unique data instance is identified by the tuple (domainId, Topic, key). Therefore two Entity objects in different domains cannot refer to the same data instance. On the other hand, the same data instance can be made available (published) or requested (subscribed) on one or more partitions.

Definition at line 86 of file Partition.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.

◆ getName()

Set<String> org.omg.dds.core.policy.Partition.getName ( )
Returns
an unmodifiable collection of partition names.

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

◆ withName() [1/3]

Partition org.omg.dds.core.policy.Partition.withName ( Collection< String >  name)

Copy this policy and override the value of the property.

Parameters
nameA Collection of strings, which specifies the partitions.
Returns
a new Partition policy

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

◆ withName() [2/3]

Partition org.omg.dds.core.policy.Partition.withName ( String  name)

Copy this policy and override the value of the property.

Parameters
nameA name string , which specifies the partition.
Returns
a new Partition policy

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

◆ withName() [3/3]

Partition org.omg.dds.core.policy.Partition.withName ( String...  names)

Copy this policy and override the value of the property.

Parameters
namesAn arbitrary number of name strings , which specifies the partitions.
Returns
a new Partition policy

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


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