type Ref is limited interface and DDS.TopicDescription.Ref;
type Ref_Access is access all Ref'Class;
function Get_Filter_Expression
( | Self | : not null access Ref) return DDS.String is abstract; |
Return the filter_expression associated with the DDS.ContentFilteredTopic. filter_expression is either specified on the last successful call to DDS.ContentFilteredTopic.set_expression or, if that procedure is never called, the expression specified when the DDS.ContentFilteredTopic was created.
self: <<in>> Cannot be NULL
Returns: the filter_expression.
procedure Get_Expression_Parameters
( | Self | : not null access Ref; |
Parameters | : access DDS.String_Seq.Sequence) is abstract; |
Return the expression_parameters associated with the DDS.ContentFilteredTopic. expression_parameters is either specified on the last successful call to DDS.ContentFilteredTopic.set_expression_parameters, DDS.ContentFilteredTopic.set_expression or, if that procedure is never called, the parameters specified when the DDS.ContentFilteredTopic was created.
self: <<in>> Cannot be NULL
parameters: <<inout>> the filter expression parameters. Cannot be NULL.
Raises: One of the DDSReturnTypesModules_std_retcodes
See also: DDS.DomainParticipant.create_contentfilteredtopic
See also: DDS.ContentFilteredTopic.set_expression_parameters
procedure Set_Expression_Parameters
( | Self | : not null access Ref; |
Parameters | : access constant DDS.String_Seq.Sequence) is abstract; |
Change the expression_parameters associated with the DDS.ContentFilteredTopic.
self: <<in>> Cannot be NULL
parameters: <<in>> the filter expression parameters Cannot be NULL. Length of sequence cannot be greater than 100.
Raises: One of the DDSReturnTypesModules_std_retcodes
function Get_Related_Topic
( | Self | : not null access Ref) return DDS.Topic.Ref_Access is abstract; |
Return the DDS.Topic specified when the DDS.ContentFilteredTopic was created.
self: <<in>> Cannot be NULL
Returns: The DDS.Topic assocated with the DDS.ContentFilteredTopic.
function Narrow
( | Self | : not null access DDS.TopicDescription.Ref'Class) return Ref_Access; |
self: <<in>> Cannot be NULL
Returns: DDS.ContentFilteredTopic if this DDS.TopicDescription is a DDS.ContentFilteredTopic. Otherwise, return NULL.
function To_ContentFilteredTopic
( | Self | : not null access DDS.TopicDescription.Ref'Class) return Ref_Access; |
self: <<in>> Cannot be NULL
Returns: DDS.ContentFilteredTopic if this DDS.TopicDescription is a DDS.ContentFilteredTopic. Otherwise, return NULL.
procedure Append_To_Expression_Parameter
( | Self | : not null access Ref; |
Index | : Natural; | |
Value | : DDS.String) is abstract; |
Appends the input string to the end of the specified parameter string, separated by a comma. If the original parameter string is enclosed in quotation marks (''), the resultant string will also be enclosed in quotation marks.
This procedure can be used in expression parameters associated with MATCH operators in order to add a pattern to the match pattern list. For example, if the filter expression parameter value is:
'IBM'
Then append_to_expression_parameter(0, "MSFT") would generate the new value:
'IBM,MSFT'
self: <<in>> Cannot be NULL
index: <<in>> The index of the parameter string to be modified. The first index is index 0. When using the DDS.STRINGMATCHFILTER_NAME filter, index must be 0.
val: <<in>> The string term to be appended to the parameter string.
Raises: One of the DDSReturnTypesModules_std_retcodes
procedure Remove_From_Expression_Parameter
( | Self | : not null access Ref; |
Index | : Natural; | |
Value | : DDS.String) is abstract; |
Removes the input string from the specified parameter string. To be found and removed, the input string must exist as a complete term, bounded by comma separators or the strong boundary. If the original parameter string is enclosed in quotation marks (''), the resultant string will also be enclosed in quotation marks. If the removed term was the last entry in the string, the result will be a string of empty quotation marks.
This procedure can be used in expression parameters associated with MATCH operators in order to remove a pattern from the match pattern list. For example, if the filter expression paremeter value is:
'IBM,MSFT'
Then remove_from_expression_parameter(0, "IBM") would generate the expression:
'MSFT'
self: <<in>> Cannot be NULL
index: <<in>> The index of the parameter string to be modified. The first index is index 0. When using the DDS.STRINGMATCHFILTER_NAME filter, index must be 0.
val: <<in>> The string term to be removed from the parameter string.
Raises: One of the DDSReturnTypesModules_std_retcodes
It describes a more sophisticated subscription that indicates a DDS.DataReader does not want to necessarily see all values of each instance published under the DDS.Topic. Rather, it wants to see only the values whose contents satisfy certain criteria. This class therefore can be used to request content-based subscriptions.
The selection of the content is done using the filter_expression with parameters expression_parameters.
DDSQueryAndFilterSyntaxModule describes the syntax of filter_expression and expression_parameters.