Interface ContainerSubscriptionParameters
- All Superinterfaces:
RecordSubscriptionParameters
,SubscriptionParameters
Defines the parameters used for Container subscriptions. To create an instance of
ContainerSubscriptionParameters
call the
{@link com.caplin.streamlink.StreamLink.createContainerSubscriptionParameters()} method.
-
Method Summary
Modifier and TypeMethodDescriptionAllow selection, sorting and grouping of containers.Sets the subscription to keep elements in the container that are inaccessible.Sets the subscription to provide only the container structure (no constituent images or updates).setWindow
(int start, int size) Sets the size of the container window.Methods inherited from interface com.caplin.streamlink.RecordSubscriptionParameters
setFields, setFilter
-
Method Details
-
setWindow
Sets the size of the container window.
- Parameters:
start
- The index of the first container element within the window, where the first container element has an index value of 0 (zero).size
- The maximum number of container elements within the window.- Returns:
- The update
ContainerSubscriptionParameters
object to permit a fluent programming style.
-
setStructureOnly
ContainerSubscriptionParameters setStructureOnly()Sets the subscription to provide only the container structure (no constituent images or updates).
- Returns:
- The update
ContainerSubscriptionParameters
object to permit a fluent programming style.
-
setKeepInaccessible
ContainerSubscriptionParameters setKeepInaccessible()Sets the subscription to keep elements in the container that are inaccessible.
- Returns:
- The update
ContainerSubscriptionParameters
object to permit a fluent programming style.
-
select
Allow selection, sorting and grouping of containers.
Example: params.select('bid>123&ask<122', "bid ASC NUMBER, ask DESC NUMBER", "bid" )
The static
ContainerFilterFactory
can be used to build aFilterExpression
whosetoFilterString
method will generate a where clause in the required format.Note: this method will only work if the backend has the Caplin Refiner installed.
The following example shows how to build an expression for FIELD1 > 0.1 AND FIELD3 = "a a"
ContainerSubscriptionParameters containerSubscriptionParameters = streamLink.createContainerSubscriptionParameters(); FilterExpression exp1 = ContainerFilterFactory.create("FIELD1", FilterExpressionOperator.GREATER_THAN, "0.1"); FilterExpression exp2 = ContainerFilterFactory.create("FIELD3", FilterExpressionOperator.EQUAL, "a a"); FilterExpression exp1Andexp2 = ContainerFilterFactory.createLogical(FilterExpressionLogicalOperator.AND, exp1, exp2); containerSubscriptionParameters.select(exp1Andexp2.toFilterString(), "FIELD1", null); Subscription subscription = streamlink.subscribe("/container", subscriptionListener, containerSubscriptionParameters);
- Parameters:
where
- The where clause, in the form required by Caplin Refiner (example 'bid>123&ask<222').orderBy
- The sorting order of the returned container in the form: field [ASC or DESC] [NUMBER or TEXT], ... example: bid DESC NUMBER,ask ASC NUMBERgroupBy
- The group by clause in the form: field example: bid- Returns:
- The update
ContainerSubscriptionParameters
object to permit a fluent programming style.
-