Class TriggerService
- java.lang.Object
-
- com.caplin.streamlink.alerts.TriggerService
-
public class TriggerService extends java.lang.Object
A TriggerService subscribes to the Triggers of a StreamLink user and allows the user to register a listener to be called back when triggers are added, removed or modified.
The TriggerService also allows the user to add and remove triggers.
When trigger conditions are met, notifications will be fired. Notifications can be handled by creating a NotificationService and registering for notification callbacks.
The service itself does not subscribe to anything unless listeners are added to it. For every listener added one subscription is being issued. These subscriptions induce the service state for the associated listeners. Therefore the service states can vary for different listeners. If the reference to the service is removed without removing all listeners beforehand, open subscriptions will stay around forever. To avoid that, remove all listeners before removing the service.
-
-
Constructor Summary
Constructors Constructor Description TriggerService(StreamLink streamLink)
Creates a new TriggerService for the given StreamLink instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(TriggerListener listener)
Adds a trigger listener that will be called back when triggers are added and removed.Trigger
addTrigger(java.lang.String subject, java.lang.String condition, java.util.Map<java.lang.String,java.lang.String> extraParams, ResultListener listener)
Add a new trigger for the current user.Trigger
disableTrigger(Trigger trigger, ResultListener listener)
Disables a trigger in the system.Trigger
enableTrigger(Trigger trigger, ResultListener listener)
Enables a trigger in the system.void
removeListener(TriggerListener listener)
Removes a previously added trigger listener, callbacks to this listener will be stopped.void
removeTrigger(Trigger trigger, ResultListener listener)
Removes a trigger from the system.
-
-
-
Constructor Detail
-
TriggerService
public TriggerService(StreamLink streamLink)
Creates a new TriggerService for the given StreamLink instance.
- Parameters:
streamLink
- the StreamLink that will be used to send and retrieve triggers from the Liberator.
-
-
Method Detail
-
addListener
public void addListener(TriggerListener listener)
Adds a trigger listener that will be called back when triggers are added and removed.
- Parameters:
listener
- - The TriggerListener to be added.
-
removeListener
public void removeListener(TriggerListener listener)
Removes a previously added trigger listener, callbacks to this listener will be stopped.
- Parameters:
listener
- - The TriggerListener to be removed.
-
addTrigger
public Trigger addTrigger(java.lang.String subject, java.lang.String condition, java.util.Map<java.lang.String,java.lang.String> extraParams, ResultListener listener)
Add a new trigger for the current user.
- Parameters:
subject
- the rttp subject of this trigger.condition
- the trigger condition, for more details on the format of the condition string, please see the StreamLink Overview document.extraParams
- a map of extra parameters to be added to the trigger.listener
- a ResultListener that will be called back to notify the user code of the result of this operation.- Returns:
- the trigger that has been created.
-
enableTrigger
public Trigger enableTrigger(Trigger trigger, ResultListener listener)
Enables a trigger in the system.
- Parameters:
trigger
- the Trigger that should be enabled.listener
- a ResultListener that will be called back to notify the user code of the result of this operation.
-
disableTrigger
public Trigger disableTrigger(Trigger trigger, ResultListener listener)
Disables a trigger in the system.
- Parameters:
trigger
- the Trigger that should be disabled.listener
- a ResultListener that will be called back to notify the user code of the result of this operation.
-
removeTrigger
public void removeTrigger(Trigger trigger, ResultListener listener)
Removes a trigger from the system.
- Parameters:
trigger
- the Trigger that should be removed.listener
- a ResultListener that will be called back to notify the user code of the result of this operation.
-
-