Class EditOrderListener
- java.lang.Object
-
- com.caplin.motif.fx.ret.orders.edit.EditOrderListener
-
- All Implemented Interfaces:
StrategyDetailsListener
,com.caplin.motif.fx.trading.orders.edit.EditStrategyListener
,com.caplin.ret.trapi.connection.pool.ConnectionPoolListener<com.caplin.ret.trapi.connection.OrderTradingConnection>
,com.caplin.ret.trapi.fx.order.transaction.leg.modify.ModifyOrderListener
,com.caplin.ret.trapi.fx.order.transaction.strategy.lock.LockStrategyListener
,com.caplin.ret.trapi.fx.order.transaction.strategy.modify.ModifyStrategyListener
,com.caplin.ret.trapi.fx.order.transaction.strategy.unlock.UnlockStrategyListener
public class EditOrderListener extends java.lang.Object implements com.caplin.motif.fx.trading.orders.edit.EditStrategyListener, com.caplin.ret.trapi.connection.pool.ConnectionPoolListener<com.caplin.ret.trapi.connection.OrderTradingConnection>, com.caplin.ret.trapi.fx.order.transaction.strategy.modify.ModifyStrategyListener, StrategyDetailsListener
In normal usage this class' callbacks are executed in the following order:1 onEditOpen Entry point. Client edit request received. Subscribes to strategy details. 2 onUpdate Initial strategy received. Acquires local lock. Requests connection. 3 onConnectionAvailable Connection received. Requests RET strategy lock. 4 onStrategyLock RET strategy lock received. Ready for client save requests (5) or client close (8). 5 onSave Client save request received. Requests RET order modify. 6 onUpdate Client save request successful. 7 onOrderModify Indicates that the transaction is ready for the next modify or unlock.
If ContinueEditing field was empty orfalse
: Unsubscribes from strategy details and initiates unlock immediately. Next callback will be (9).
If ContinueEditing field wastrue
: Ready for client save requests (5) or client close (8).8 onClientClose Client close request received. Unsubscribes from strategy details. Requests RET strategy unlock. 9 onStrategyUnlock Terminal state. RET strategy unlock received. Releases connection. Releases local lock.
-
-
Constructor Summary
Constructors Constructor Description EditOrderListener(OrderAdapterInitialiser adapterServices, com.caplin.motif.fx.trading.orders.edit.EditStrategyRequest editStrategyRequest, java.util.concurrent.ExecutorService singleThreadedExecutor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
connectionAvailable(com.caplin.ret.trapi.connection.OrderTradingConnection connection)
Handles notification from Trapi that a connection is free.void
connectionRegistrationFailed(java.lang.String reason)
void
onActivityTimeout()
void
onClientClose(com.caplin.motif.fx.trading.orders.edit.event.ClientCloseEvent event)
Handles client close state transition.void
onEditOpen(com.caplin.motif.fx.trading.orders.edit.event.EditOpenEvent event)
Handles the initial client request to edit an order.void
onError(java.lang.String error)
Signals an error on the subscription.void
onOrderModify(com.caplin.ret.trapi.fx.order.OrderModificationEvent event)
void
onOrderModifyFail(com.caplin.ret.trapi.fx.order.OrderErrorEvent errorEvent)
void
onSave(com.caplin.motif.fx.trading.orders.edit.event.SaveEvent saveEvent)
Handles client request to save an order.void
onSaveFailed(com.caplin.motif.fx.trading.orders.edit.event.FailureType failureType)
void
onStrategyLock(com.caplin.ret.trapi.fx.order.OrderEvent event)
void
onStrategyLockFail(com.caplin.ret.trapi.fx.order.OrderErrorEvent errorEvent)
void
onStrategyUnlock(com.caplin.ret.trapi.fx.order.OrderEvent event, java.lang.String newLockOwner)
void
onStrategyUnlockFail(com.caplin.ret.trapi.fx.order.OrderErrorEvent errorEvent)
void
onTradeClosed()
void
onUpdate(com.caplin.motif.fx.trading.orders.details.Strategy updatedStrategy, com.caplin.ret.trapi.fx.order.strategy.StrategyTree strategyTree)
Sends a strategy update to the subscription.
-
-
-
Constructor Detail
-
EditOrderListener
public EditOrderListener(OrderAdapterInitialiser adapterServices, com.caplin.motif.fx.trading.orders.edit.EditStrategyRequest editStrategyRequest, java.util.concurrent.ExecutorService singleThreadedExecutor)
-
-
Method Detail
-
onEditOpen
public void onEditOpen(com.caplin.motif.fx.trading.orders.edit.event.EditOpenEvent event)
Handles the initial client request to edit an order.- Specified by:
onEditOpen
in interfacecom.caplin.motif.fx.trading.orders.edit.EditStrategyListener
-
onClientClose
public void onClientClose(com.caplin.motif.fx.trading.orders.edit.event.ClientCloseEvent event)
Handles client close state transition.- Specified by:
onClientClose
in interfacecom.caplin.motif.fx.trading.orders.edit.EditStrategyListener
-
connectionAvailable
public void connectionAvailable(com.caplin.ret.trapi.connection.OrderTradingConnection connection)
Handles notification from Trapi that a connection is free.- Specified by:
connectionAvailable
in interfacecom.caplin.ret.trapi.connection.pool.ConnectionPoolListener<com.caplin.ret.trapi.connection.OrderTradingConnection>
-
connectionRegistrationFailed
public void connectionRegistrationFailed(java.lang.String reason)
- Specified by:
connectionRegistrationFailed
in interfacecom.caplin.ret.trapi.connection.pool.ConnectionPoolListener<com.caplin.ret.trapi.connection.OrderTradingConnection>
-
onSave
public void onSave(com.caplin.motif.fx.trading.orders.edit.event.SaveEvent saveEvent)
Handles client request to save an order.- Specified by:
onSave
in interfacecom.caplin.motif.fx.trading.orders.edit.EditStrategyListener
-
onSaveFailed
public void onSaveFailed(com.caplin.motif.fx.trading.orders.edit.event.FailureType failureType)
- Specified by:
onSaveFailed
in interfacecom.caplin.motif.fx.trading.orders.edit.EditStrategyListener
-
onTradeClosed
public void onTradeClosed()
- Specified by:
onTradeClosed
in interfacecom.caplin.motif.fx.trading.orders.edit.EditStrategyListener
-
onOrderModify
public void onOrderModify(com.caplin.ret.trapi.fx.order.OrderModificationEvent event)
- Specified by:
onOrderModify
in interfacecom.caplin.ret.trapi.fx.order.transaction.leg.modify.ModifyOrderListener
-
onOrderModifyFail
public void onOrderModifyFail(com.caplin.ret.trapi.fx.order.OrderErrorEvent errorEvent)
- Specified by:
onOrderModifyFail
in interfacecom.caplin.ret.trapi.fx.order.transaction.leg.modify.ModifyOrderListener
-
onUpdate
public void onUpdate(com.caplin.motif.fx.trading.orders.details.Strategy updatedStrategy, com.caplin.ret.trapi.fx.order.strategy.StrategyTree strategyTree)
Description copied from interface:StrategyDetailsListener
Sends a strategy update to the subscription.- Specified by:
onUpdate
in interfaceStrategyDetailsListener
- Parameters:
updatedStrategy
- The updatedStrategy
.strategyTree
- The latestStrategyTree
that was used to produce theStrategy
.
-
onError
public void onError(java.lang.String error)
Description copied from interface:StrategyDetailsListener
Signals an error on the subscription.
Errors do NOT signal that the subscription has ended. Subscribers should still remove their listeners.- Specified by:
onError
in interfaceStrategyDetailsListener
- Parameters:
error
- The reason for the error.
-
onStrategyLock
public void onStrategyLock(com.caplin.ret.trapi.fx.order.OrderEvent event)
- Specified by:
onStrategyLock
in interfacecom.caplin.ret.trapi.fx.order.transaction.strategy.lock.LockStrategyListener
-
onStrategyLockFail
public void onStrategyLockFail(com.caplin.ret.trapi.fx.order.OrderErrorEvent errorEvent)
- Specified by:
onStrategyLockFail
in interfacecom.caplin.ret.trapi.fx.order.transaction.strategy.lock.LockStrategyListener
-
onStrategyUnlock
public void onStrategyUnlock(com.caplin.ret.trapi.fx.order.OrderEvent event, java.lang.String newLockOwner)
- Specified by:
onStrategyUnlock
in interfacecom.caplin.ret.trapi.fx.order.transaction.strategy.unlock.UnlockStrategyListener
-
onStrategyUnlockFail
public void onStrategyUnlockFail(com.caplin.ret.trapi.fx.order.OrderErrorEvent errorEvent)
- Specified by:
onStrategyUnlockFail
in interfacecom.caplin.ret.trapi.fx.order.transaction.strategy.unlock.UnlockStrategyListener
-
onActivityTimeout
public void onActivityTimeout()
- Specified by:
onActivityTimeout
in interfacecom.caplin.ret.trapi.fx.order.transaction.strategy.modify.ModifyStrategyListener
-
-