Package velox.api.layer1.providers.data
Class ProviderSelectorMessage
java.lang.Object
velox.api.layer1.providers.data.ProviderSelectorMessage
The message specifies that the next action relates to a specific provider (where it can't be derived from other data).
Examples of such events: Layer1ApiAdminListener.onLoginSuccessful()
or Layer1ApiInstrumentListener.onInstrumentAdded(String, InstrumentInfo))
Here is how an addon can listen for
Layer1ApiAdminListener.onConnectionLost(DisconnectionReason, String) -
note how the sourceProvider is updated in onUserMessage(Object data)
and later read in onConnectionLost(DisconnectionReason reason, String message)
String sourceProvider;@Overridepublic void onUserMessage(Object data) { if (data instanceof ProviderSelectorMessage) { ProviderSelectorMessage message = (ProviderSelectorMessage) data; sourceProvider = message.getProviderProgrammaticName(); } super.onUserMessage(data); }@Overridepublic void onConnectionLost(DisconnectionReason reason, String message) { super.onConnectionLost(reason, message); // You can do something more useful then simply logging the provider name Log.info("Connection lost for provider: " + sourceProvider); }
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal velox.api.layer1.data.ProviderTypeThis field is not intended for public API usage. -
Constructor Summary
ConstructorsConstructorDescriptionProviderSelectorMessage(velox.api.layer1.data.ProviderType sourceProviderType) DO NOT use this directly, useProviderType.getProviderSelectorMessage()instead - this way you'll avoid creating a new object every time. -
Method Summary
Modifier and TypeMethodDescriptionstatic final ProviderSelectorMessagecreateProviderSelectorMessage(velox.api.layer1.data.ProviderType providerType) Returns provider selector messages of specific type.
-
Field Details
-
sourceProviderType
public final velox.api.layer1.data.ProviderType sourceProviderTypeThis field is not intended for public API usage. UsegetProviderProgrammaticName()instead.
-
-
Constructor Details
-
ProviderSelectorMessage
public ProviderSelectorMessage(velox.api.layer1.data.ProviderType sourceProviderType) DO NOT use this directly, useProviderType.getProviderSelectorMessage()instead - this way you'll avoid creating a new object every time.- Parameters:
sourceProviderType-
-
-
Method Details
-
createProviderSelectorMessage
public static final ProviderSelectorMessage createProviderSelectorMessage(velox.api.layer1.data.ProviderType providerType) Returns provider selector messages of specific type. Objects are reused - same message is returned for same type -
getProviderProgrammaticName
- Returns:
- unique string representation of a provider that caused an event,
or
nullif the underlying provider isnull
-