OpenSplice Java 5 DCPS  v6.x
OpenSplice Java 5 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
org.omg.dds.topic.MultiTopic< TYPE > Interface Template Reference

MultiTopic is a specialization of TopicDescription that allows subscriptions to combine/filter/rearrange data coming from several org.omg.dds.topic.Topics. More...

Inheritance diagram for org.omg.dds.topic.MultiTopic< TYPE >:
Inheritance graph
Collaboration diagram for org.omg.dds.topic.MultiTopic< TYPE >:
Collaboration graph

Public Member Functions

public< OTHER > TopicDescription< OTHER > cast ()
 Cast this topic description to the given type, or throw an exception if the cast fails. More...
 
void close ()
 Dispose the resources held by this object. More...
 
ServiceEnvironment getEnvironment ()
 
List< String > getExpressionParameters ()
 This operation returns the expression parameters associated with the MultiTopic, that is, the parameters specified on the last successful call to setExpressionParameters(List), or if setExpressionParameters(List) was never called, the parameters specified when the MultiTopic was created. More...
 
String getName ()
 Returns the name used to create the TopicDescription. More...
 
DomainParticipant getParent ()
 Returns the org.omg.dds.domain.DomainParticipant to which the TopicDescription belongs. More...
 
String getSubscriptionExpression ()
 
String getTypeName ()
 Returns the type name used to create the TopicDescription. More...
 
TypeSupport< TYPE > getTypeSupport ()
 Returns the org.omg.dds.type.TypeSupport used to create this TopicDescription. More...
 
void setExpressionParameters (List< String > expressionParameters)
 This operation changes the expression parameters associated with the MultiTopic. More...
 
void setExpressionParameters (String... expressionParameters)
 This operation changes the expression parameters associated with the MultiTopic. More...
 

Detailed Description

MultiTopic is a specialization of TopicDescription that allows subscriptions to combine/filter/rearrange data coming from several org.omg.dds.topic.Topics.

MultiTopic allows a more sophisticated subscription that can select and combine data received from multiple topics into a single resulting type (specified by the inherited typeName). The data will then be filtered (selection) and possibly rearranged (aggregation/projection) according to a subscriptionExpression with parameters expressionParameters.

  • The subscriptionExpression is a string that identifies the selection and rearrangement of data from the associated topics. It is similar to an SQL clause where the SELECT part provides the fields to be kept, the FROM part provides the names of the topics that are searched for those fields, and the WHERE clause gives the content filter. The Topics combined may have different types but they are restricted in that the type of the fields used for the NATURAL JOIN operation must be the same.
  • The expressionParameters attribute is a sequence of strings that give values to the "parameters" (i.e., "%n" tokens) in the subscriptionExpression. The number of supplied parameters must fit with the requested values in the subscriptionExpression (i.e., the number of "%n" tokens).
  • org.omg.dds.sub.DataReader entities associated with a MultiTopic are alerted of data modifications by the usual Listener or org.omg.dds.core.Condition mechanisms whenever modifications occur to the data associated with any of the topics relevant to the MultiTopic.
  • DataReader entities associated with a MultiTopic access instances that are "constructed" at the DataReader side from the instances written by multiple DataWriter entities. The MultiTopic access instance will begin to exist as soon as all the constituting Topic instances are in existence. The org.omg.dds.sub.ViewState and org.omg.dds.sub.InstanceState are computed from the corresponding states of the constituting instances:
    • The viewState of the MultiTopic instance is NEW if at least one of the constituting instances has viewState = NEW, otherwise it will be NOT_NEW.
    • The instanceState of the MultiTopic instance is "ALIVE" if the instanceStates of all the constituting Topic instances are ALIVE. It is "NOT_ALIVE_DISPOSED" if at least one of the constituting Topic instances is NOT_ALIVE_DISPOSED. Otherwise, it is NOT_ALIVE_NO_WRITERS.

NOTE: MultiTopic is currently not supported by OpenSplice!

Parameters
<TYPE>The concrete type of the data that will be published and/ or subscribed by the readers and writers that use this topic description.

Definition at line 73 of file MultiTopic.java.

Member Function Documentation

◆ cast()

public<OTHER> TopicDescription<OTHER> org.omg.dds.topic.TopicDescription< TYPE >.cast ( )
inherited

Cast this topic description to the given type, or throw an exception if the cast fails.

Parameters
<OTHER>The type of the data exchanged on this topic, according to the caller.
Returns
this topic description
Exceptions
ClassCastExceptionif the cast fails

◆ close()

void org.omg.dds.topic.TopicDescription< TYPE >.close ( )
inherited

Dispose the resources held by this object.

A TopicDescription cannot be closed if it is in use by any org.omg.dds.pub.DataWriters or org.omg.dds.sub.DataReaders. With respect to org.omg.dds.topic.Topics specifically: a Topic cannot be closed if it has any remaining org.omg.dds.topic.ContentFilteredTopics or org.omg.dds.topic.MultiTopics related to it.

See also
org.omg.dds.core.Entity::close()

Implemented in org.opensplice.dds.topic.ContentFilteredTopicImpl< TYPE >, and org.opensplice.dds.topic.TopicDescriptionExt< TYPE >.

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

◆ getExpressionParameters()

List<String> org.omg.dds.topic.MultiTopic< TYPE >.getExpressionParameters ( )

This operation returns the expression parameters associated with the MultiTopic, that is, the parameters specified on the last successful call to setExpressionParameters(List), or if setExpressionParameters(List) was never called, the parameters specified when the MultiTopic was created.

Returns
an unmodifiable list.
See also
#setExpressionParameters(List)

◆ getName()

String org.omg.dds.topic.TopicDescription< TYPE >.getName ( )
inherited

Returns the name used to create the TopicDescription.

Returns
the name.

Implemented in org.opensplice.dds.topic.TopicImpl< TYPE >, and org.opensplice.dds.topic.ContentFilteredTopicImpl< TYPE >.

◆ getParent()

◆ getSubscriptionExpression()

String org.omg.dds.topic.MultiTopic< TYPE >.getSubscriptionExpression ( )
Returns
the subscription expression associated with the MultiTopic, that is, the expression specified when the MultiTopic was created.

◆ getTypeName()

String org.omg.dds.topic.TopicDescription< TYPE >.getTypeName ( )
inherited

Returns the type name used to create the TopicDescription.

Returns
the type name

Implemented in org.opensplice.dds.topic.TopicImpl< TYPE >, and org.opensplice.dds.topic.ContentFilteredTopicImpl< TYPE >.

◆ getTypeSupport()

◆ setExpressionParameters() [1/2]

void org.omg.dds.topic.MultiTopic< TYPE >.setExpressionParameters ( List< String >  expressionParameters)

This operation changes the expression parameters associated with the MultiTopic.

Parameters
expressionParametersThe expressionParameters attribute is a collection of strings that give values to the "parameters" (i.e., "%n" tokens) in the queryExpression. The number of supplied parameters must fit with the requested values in the queryExpression (i.e., the number of "%n" tokens).
See also
getExpressionParameters()

◆ setExpressionParameters() [2/2]

void org.omg.dds.topic.MultiTopic< TYPE >.setExpressionParameters ( String...  expressionParameters)

This operation changes the expression parameters associated with the MultiTopic.

Parameters
expressionParametersThe expressionParameters attribute is a sequence of strings that give values to the "parameters" (i.e., "%n" tokens) in the queryExpression. The number of supplied parameters must fit with the requested values in the queryExpression (i.e., the number of "%n" tokens).
See also
getExpressionParameters()

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