The main StreamLink Class.
To create an instance of this class, use the caplin.streamlink.StreamLinkFactory.
You can obtain an instance of this interface by calling the create()
method on the
caplin.streamlink.StreamLinkFactory object.
Attributes | Name and Description |
---|---|
|
caplin.streamlink.StreamLink()
|
Attributes | Name and Description |
---|---|
|
void
addConnectionListener(caplin.streamlink.ConnectionListener connectionListener)
Adds a connection listener with this StreamLink instance. |
|
void
connect()
Instructs this StreamLink instance to attempt to connect to the Liberator. |
|
caplin.streamlink.Channel
createChannel(String subject, caplin.streamlink.ChannelListener channelListener, Map
Creates a |
|
caplin.streamlink.CommandSubscription
createSubject(String subject, caplin.streamlink.SubjectType subjectType, caplin.streamlink.CommandListener commandListener, Map
Creates a subject in the Liberator. |
|
caplin.streamlink.WebRequestParameters
createWebRequestParameters(String moduleName, Map
Creates a |
|
void
deleteSubject(String subject, caplin.streamlink.CommandListener commandListener)
Deletes a subject in the Liberator. |
|
void
disconnect()
Instructs this StreamLink instance to disconnect from the Liberator. |
|
void
getLastLog()
Returns an array containing the last "log_buffer_size" log lines written by the current {caplin.streamlink.StreamLink} instance. |
|
caplin.streamlink.Logger
getLogger()
Returns the StreamLink logger object. |
|
void
getVersion()
Gets the version of StreamLink JavaScript. |
|
void
networkAvailable()
Informs StreamLink the network connection is available so can connect. |
|
void
networkUnavailable()
Informs StreamLink the network connection is unavailable so it will not try to connect. |
|
void
pause()
Pauses StreamLink so it does not receive new updates from the Liberator. |
|
caplin.streamlink.CommandSubscription
publishToSubject(String subject, Map
Publishes data to a subject. |
|
void
removeConnectionListener(caplin.streamlink.ConnectionListener connectionListener)
Removes a previously added caplin.streamlink.ConnectionListener from this StreamLink instance. |
|
void
resume()
Re-establishes the connection to the Liberator to receive updates. |
|
void
snapshot(String subject, caplin.streamlink.SubscriptionListener subscriptionListener, Map
Requests a single update from a subject. |
|
caplin.streamlink.Subscription
subscribe(String subject, caplin.streamlink.SubscriptionListener subscriptionListener, Map
Subscribes to a subject to receive updates. |
|
caplin.streamlink.CommandSubscription
throttleEverything(caplin.streamlink.ThrottleCommand throttleCommand, caplin.streamlink.CommandListener commandListener, Map
Throttles all the currently subscribed subjects, reducing the number of updates that are sent every second. |
|
caplin.streamlink.CommandSubscription
throttleSubject(String subject, caplin.streamlink.ThrottleCommand throttleCommand, caplin.streamlink.CommandListener commandListener, Map
Throttles the specified subject, reducing the number of updates that are sent every second. |
►
caplin.streamlink.StreamLink()
►
void
addConnectionListener(caplin.streamlink.ConnectionListener connectionListener)
Adds a connection listener with this StreamLink instance. This connectionListener
is called whenever a connection event occurs.
caplin.streamlink.ConnectionListener | connectionListener | The ConnectionListener to be added. |
►
void
connect()
Instructs this StreamLink instance to attempt to connect to the Liberator.
When a caplin.streamlink.ConnectionListener has been registered with this StreamLink instance, the listener's methods are called when the status of the connection changes.
►
caplin.streamlink.Channel
createChannel(String subject, caplin.streamlink.ChannelListener channelListener, Map
Creates a Channel
for the specified subject on the Liberator.
Use the returned channel to send and receive data as maps of name/value pairs.
The commandParameters argument takes the following JSON configuration attributes:Attribute name | Type | Default | Optional | Description |
---|---|---|---|---|
persistent | boolean | false | Yes | When true, the latest channel record data sent persists across a failure of the connection to Liberator and subsequent reconnection. When false, the record data only applies to the current Liberator session and does not persist following a connection failure. For a fuller explanation, see the 'Persistence' section of the StreamLink Overview document. |
cancellable | boolean | false | Yes | Sets the sending of record data associated with this channel to be cancelled in the event that the connection goes down before it is sent. |
String | subject | the Liberator subject that will be used for this channel. |
caplin.streamlink.ChannelListener | channelListener | to receive data, status and error messages from the channel. |
Map |
commandParameters | Optional JSON configuration attributes. |
►
caplin.streamlink.CommandSubscription
createSubject(String subject, caplin.streamlink.SubjectType subjectType, caplin.streamlink.CommandListener commandListener, Map
Creates a subject in the Liberator.
The commandParameters argument takes the following JSON configuration attributes:Attribute name | Type | Default | Optional | Description |
---|---|---|---|---|
persistent | boolean | false | Yes | Sets the command associated with these parameters to be persistent. This deals with the situation where the connection to the Liberator server has been lost, and on subsequent reconnection StreamLink must create a brand new user session and log in to Liberator again. When this happens, the "persistent" command is automatically re-sent to the Liberator. |
cancellable | boolean | false | Yes | Sets the command associated with these parameters to be cancelled in the event that the connection goes down before it is sent. |
String | subject | The name of the subject to create. |
caplin.streamlink.SubjectType | subjectType | The type of subject to create. |
caplin.streamlink.CommandListener | commandListener | A listener that is called to provide information about the result of the "create subject" command. |
Map |
commandParameters | Optional JSON configuration attributes. |
commandParameters
made the command persistent, you can subsequently cancel this by calling the CommandSubscription
's unPersist()
method.
►
caplin.streamlink.WebRequestParameters
createWebRequestParameters(String moduleName, Map
Creates a WebRequestParameters
object for the specified Liberator web module.
The returned WebRequestParameters
object contains the URL and HTTP post body that should be
used to access the required web module.
String | moduleName | the name of the Liberator web module. |
Map |
options | a map of named options that the web module accepts. |
►
void
deleteSubject(String subject, caplin.streamlink.CommandListener commandListener)
Deletes a subject in the Liberator.
String | subject | The name of the subject to delete. |
caplin.streamlink.CommandListener | commandListener | A listener that is called to provide information about the result of the 'delete subject' command. |
►
void
disconnect()
Instructs this StreamLink instance to disconnect from the Liberator.
►
void
getLastLog()
Returns an array containing the last "log_buffer_size" log lines written by the current {caplin.streamlink.StreamLink} instance. If log_buffer_size is not set or <= 0 then the log buffer is disabled and this method will always return an empty array
►
caplin.streamlink.Logger
getLogger()
Returns the StreamLink logger object. You can receive StreamLink log messages by adding your own caplin.streamlink.LogListener to this object.
►
void
getVersion()
Gets the version of StreamLink JavaScript.
►
void
networkAvailable()
Informs StreamLink the network connection is available so can connect.
►
void
pause()
Pauses StreamLink so it does not receive new updates from the Liberator. The KeyMaster session will be kept alive.
This method can be used as part of your applications lifecycle to conserve battery life and reduce data usage by not receiving data when your application is in the background.
►
caplin.streamlink.CommandSubscription
publishToSubject(String subject, Map
Publishes data to a subject.
The commandParameters argument takes the following JSON configuration attributes:Attribute name | Type | Default | Optional | Description |
---|---|---|---|---|
persistent | boolean | false | Yes | When true, if the connection to the Liberator fails after publication, the data is resent when StreamLink reconnects. When false, if the connection to the Liberator fails after publication, the data is not resent when StreamLink reconnects. |
cancellable | boolean | false | Yes | Sets the command associated with these parameters to be cancelled in the event that the connection goes down before it is sent. |
String | subject | The subject to publish to. |
Map |
fieldData | The data, as key-value pairs, to be published to the subject. |
caplin.streamlink.CommandListener | commandListener | A listener that receives notification of the publish command's success or failure. |
Map |
commandParameters | Optional JSON configuration attributes. |
commandParameters
made the command persistent, you can subsequently cancel this by calling the CommandSubscription
's unPersist()
method.
►
void
removeConnectionListener(caplin.streamlink.ConnectionListener connectionListener)
Removes a previously added caplin.streamlink.ConnectionListener from this StreamLink instance. After removal, no further callbacks are received by this ConnectionListener.
caplin.streamlink.ConnectionListener | connectionListener | The ConnectionListener to be removed. |
►
void
resume()
Re-establishes the connection to the Liberator to receive updates.
This method can be used as part of your applications lifecycle to conserve battery life and reduce data usage by not receiving data when your application is in the background.
►
void
snapshot(String subject, caplin.streamlink.SubscriptionListener subscriptionListener, Map
Requests a single update from a subject.
The subscriptionParameters argument takes the following JSON configuration attributes:Attribute name | Type | Default | Optional | Description |
---|---|---|---|---|
fields | [string] | All fields are subscribed to. | Yes | An array of the the fields to subscribe to.
For example: |
filter | {value: string, image: boolean} | No filter is applied. | Yes | A filter that restricts the number of field updates that will be received.
The When the |
window | {start: int, size: int} | Updates are returned for the whole container (subject to any filter applied). | Yes | When the subscription is to a container, this attribute defines a window that begins at the element defined by start ,
and is size elements long. Liberator only returns updates for the elements that are in the window.
The first element in a container starts at position 0 (zero). |
select | {where: string, orderby: string, groupby: string} | Updates are returned for the whole container in creation order. | Yes | When the subscription is to a container and the backend system is running Caplin Refiner, this attribute defines the selection
and sorting applied to the container.
Parameters:
|
freeform | [string] | Free form string parameters. | Yes | Freeform subscription parameters allows you to pass parameters to subscriptions for subject types that are not records or containers. They can be used to define filter expressions for filtering news headlines. For more information about news headlines, and the syntax and rules for defining news filter expressions, see the "News filtering" section of the StreamLink Overview |
String | subject | The subject to subscribe to. |
caplin.streamlink.SubscriptionListener | subscriptionListener | A listener that is called to provide information about the result of the subscription request, the subscribed data, and subsequent updates to that data. |
Map |
subscriptionParameters | Optional JSON configuration attributes. |
►
caplin.streamlink.Subscription
subscribe(String subject, caplin.streamlink.SubscriptionListener subscriptionListener, Map
Subscribes to a subject to receive updates.
The subscriptionParameters argument takes the following JSON configuration attributes:Attribute name | Type | Default | Optional | Description |
---|---|---|---|---|
fields | [string] | All fields are subscribed to. | Yes | An array of the the fields to subscribe to.
For example: |
filter | {value: string, image: boolean} | No filter is applied. | Yes | A filter that restricts the number of field updates that will be received.
The When the |
window | {start: int, size: int} | Updates are returned for the whole container (subject to any filter applied). | Yes | When the subscription is to a container, this attribute defines a window that begins at the element defined by start ,
and is size elements long. Liberator only returns updates for the elements that are in the window.
The first element in a container starts at position 0 (zero). |
freeform | [string] | Free form string parameters. | Yes | Freeform subscription parameters allows you to pass parameters to subscriptions for subject types that are not records or containers. They can be used to define filter expressions for filtering news headlines. For more information about news headlines, and the syntax and rules for defining news filter expressions, see the "News filtering" section of the StreamLink Overview |
select | {where: string, orderby: string, groupby: string} | Updates are returned for the whole container in creation order. | Yes | When the subscription is to a container and the backend system is running Caplin Refiner, this attribute defines the selection
and sorting applied to the container.
Parameters:
|
Container filtering example using the ContainerFilterFactory to build the where clause:
|
String | subject | The subject to subscribe to. |
caplin.streamlink.SubscriptionListener | subscriptionListener | A listener that is called to provide information about the result of the subscription request, the subscribed data, and subsequent updates to that data. |
Map |
subscriptionParameters | Optional JSON configuration attributes. |
unsubscribe()
method on the returned Subscription
object.
►
caplin.streamlink.CommandSubscription
throttleEverything(caplin.streamlink.ThrottleCommand throttleCommand, caplin.streamlink.CommandListener commandListener, Map
Throttles all the currently subscribed subjects, reducing the number of updates that are sent every second.
For a fuller explanation of throttling, refer to the 'Throttling' section of the document StreamLink Overview.
caplin.streamlink.ThrottleCommand | throttleCommand | The throttle command to apply. |
caplin.streamlink.CommandListener | commandListener | A listener that is called to provide information about the result of the throttle command. |
Map |
commandParameters | Optional JSON configuration attributes; for details, see the commandParameters parameter of throttleSubject(). |
commandParameters
made the command persistent, you can subsequently cancel this by calling the CommandSubscription
's unPersist()
method.
►
caplin.streamlink.CommandSubscription
throttleSubject(String subject, caplin.streamlink.ThrottleCommand throttleCommand, caplin.streamlink.CommandListener commandListener, Map
Throttles the specified subject, reducing the number of updates that are sent every second.
For a fuller explanation of throttling, refer to the 'Throttling' section of the document StreamLink Overview.
The commandParameters argument takes the following JSON configuration attributes:Attribute name | Type | Default | Optional | Description |
---|---|---|---|---|
persistent | boolean | false | Yes | When true, the throttle setting for this command persists across a failure of the connection to Liberator and subsequent reconnection. When false, the throttle setting only applies to the current Liberator session and does not persist following a connection failure. For a fuller explanation, see the 'Persistence' section of the StreamLink Overview document. |
cancellable | boolean | false | Yes | Sets the command associated with these parameters to be cancelled in the event that the connection goes down before it is sent. |
String | subject | The subject for which received data updates are to be throttled. |
caplin.streamlink.ThrottleCommand | throttleCommand | The Throttle command to apply. |
caplin.streamlink.CommandListener | commandListener | A listener that is called to provide information about the result of the throttle command. |
Map |
commandParameters | Optional JSON configuration attributes. |
commandParameters
made the command persistent, you can subsequently cancel this by calling the CommandSubscription
's unPersist()
method.