public class Layer1ApiRelay extends Layer1ApiUpstreamRelay implements Layer1ApiProvider, Layer1ApiListener, Layer1ApiTimeSource
Layer1ApiTimeSource.Layer1TimeSourceShortcutAllowed
Modifier and Type | Field and Description |
---|---|
protected Layer1ApiProvider |
provider
Do not change it directly, use
setProvider(Layer1ApiProvider) . |
private Layer1ApiProvider |
timeSource |
closed
adminListeners, dataListeners, instrumentListeners, mboDataListeners, tradingListeners
Modifier | Constructor and Description |
---|---|
|
Layer1ApiRelay(Layer1ApiProvider provider) |
protected |
Layer1ApiRelay(Layer1ApiProvider provider,
boolean subscribeToProvider) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Stop relaying data.
|
java.lang.String |
formatPrice(java.lang.String alias,
double price)
Format price using platform capabilities if possible
|
long |
getCurrentTime()
Returns current Unix epoch time.
|
java.lang.String |
getSource()
Returns string representing data source.
|
Layer1ApiProviderSupportedFeatures |
getSupportedFeatures()
Get information about features that are supported by a provider.
|
Layer1ApiProvider |
getTimeSource() |
void |
login(LoginData loginData)
Initiate login to the platform.
|
void |
sendOrder(OrderSendParameters orderSendParameters)
Submit order with specified parameters
|
java.lang.Object |
sendUserMessage(java.lang.Object data)
Allows incorporating arbitrary functionality into protocol
|
protected void |
setProvider(Layer1ApiProvider provider)
If you use this method you must implement
getCurrentTime() so time
shortcut is not applied |
void |
subscribe(SubscribeInfo subscribeInfo)
Subscribe to specified instrument.
|
void |
unsubscribe(java.lang.String alias)
Unsubscribe from the instrument
|
void |
updateOrder(OrderUpdateParameters orderUpdateParameters)
Update order according to parameters
|
onBalance, onConnectionLost, onConnectionRestored, onDepth, onInstrumentAdded, onInstrumentAlreadySubscribed, onInstrumentNotFound, onInstrumentRemoved, onLoginFailed, onLoginSuccessful, onMarketMode, onMboCancel, onMboReplace, onMboSend, onOrderExecuted, onOrderUpdated, onStatus, onSystemTextMessage, onTrade, onUserMessage
addListener, addListener, addListener, addListener, addListener, getAdminListenerBroadcaster, getDataListenerBroadcaster, getInstrumentListenerBroadcaster, getTradingListenerBroadcaster, getUniqueListenersCount, onNoSubscribers, removeListener, removeListener, removeListener, removeListener, removeListener
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
subscribe
addListener, removeListener
addListener, removeListener
addListener, removeListener
addListener, removeListener
addListener, removeListener
onInstrumentAdded, onInstrumentAlreadySubscribed, onInstrumentNotFound, onInstrumentRemoved
onDepth, onMarketMode, onTrade
onMboCancel, onMboReplace, onMboSend
onBalance, onOrderExecuted, onOrderUpdated, onStatus
onConnectionLost, onConnectionRestored, onLoginFailed, onLoginSuccessful, onSystemTextMessage, onUserMessage
getTimeSource
protected Layer1ApiProvider provider
setProvider(Layer1ApiProvider)
.
And don't do that unless you really need to.private Layer1ApiProvider timeSource
public Layer1ApiRelay(Layer1ApiProvider provider)
protected Layer1ApiRelay(Layer1ApiProvider provider, boolean subscribeToProvider)
protected void setProvider(Layer1ApiProvider provider)
getCurrentTime()
so time
shortcut is not appliedpublic java.lang.String formatPrice(java.lang.String alias, double price)
Layer1ApiDataProvider
formatPrice
in interface Layer1ApiDataProvider
public void subscribe(SubscribeInfo subscribeInfo)
Layer1ApiInstrumentProvider
subscribe
in interface Layer1ApiInstrumentProvider
subscribeInfo
- has fields similar to InstrumentCoreInfo
public void unsubscribe(java.lang.String alias)
Layer1ApiInstrumentProvider
unsubscribe
in interface Layer1ApiInstrumentProvider
alias
- instrument aliaspublic void sendOrder(OrderSendParameters orderSendParameters)
Layer1ApiTradingProvider
sendOrder
in interface Layer1ApiTradingProvider
orderSendParameters
- parameterspublic void updateOrder(OrderUpdateParameters orderUpdateParameters)
Layer1ApiTradingProvider
updateOrder
in interface Layer1ApiTradingProvider
orderUpdateParameters
- parameterspublic void login(LoginData loginData)
Layer1ApiAdminProvider
login
in interface Layer1ApiAdminProvider
loginData
- credentials, different platforms use different subclassespublic long getCurrentTime()
Layer1ApiAdminProvider
getCurrentTime
in interface Layer1ApiAdminProvider
public void close()
Layer1ApiUpstreamRelay
close
in interface java.lang.AutoCloseable
close
in interface Layer1ApiAdminProvider
close
in class Layer1ApiUpstreamRelay
public java.lang.String getSource()
Layer1ApiAdminProvider
getSource
in interface Layer1ApiAdminProvider
public java.lang.Object sendUserMessage(java.lang.Object data)
Layer1ApiAdminProvider
sendUserMessage
in interface Layer1ApiAdminProvider
data
- Message contentpublic Layer1ApiProviderSupportedFeatures getSupportedFeatures()
Layer1ApiAdminProvider
Get information about features that are supported by a provider. Note that some fields might be set differently depending on when request is made. E.g. adapter might not know if trading will be there until login actually happens.
If you are writing a provider - take a look at
MaximumSupportedFeatures
as a way to declare full list of
capabilities before being instantiated
getSupportedFeatures
in interface Layer1ApiAdminProvider
MaximumSupportedFeatures
public Layer1ApiProvider getTimeSource()
getTimeSource
in interface Layer1ApiTimeSource