Class 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 or false: Unsubscribes from strategy details and initiates unlock immediately. Next callback will be (9).
    If ContinueEditing field was true: 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.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 interface com.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 interface com.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 interface com.caplin.ret.trapi.connection.pool.ConnectionPoolListener<com.caplin.ret.trapi.connection.OrderTradingConnection>
      • connectionRegistrationFailed

        public void connectionRegistrationFailed​(java.lang.String reason)
        Specified by:
        connectionRegistrationFailed in interface com.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 interface com.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 interface com.caplin.motif.fx.trading.orders.edit.EditStrategyListener
      • onTradeClosed

        public void onTradeClosed()
        Specified by:
        onTradeClosed in interface com.caplin.motif.fx.trading.orders.edit.EditStrategyListener
      • onOrderModify

        public void onOrderModify​(com.caplin.ret.trapi.fx.order.OrderModificationEvent event)
        Specified by:
        onOrderModify in interface com.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 interface com.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 interface StrategyDetailsListener
        Parameters:
        updatedStrategy - The updated Strategy.
        strategyTree - The latest StrategyTree that was used to produce the Strategy.
      • 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 interface StrategyDetailsListener
        Parameters:
        error - The reason for the error.
      • onStrategyLock

        public void onStrategyLock​(com.caplin.ret.trapi.fx.order.OrderEvent event)
        Specified by:
        onStrategyLock in interface com.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 interface com.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 interface com.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 interface com.caplin.ret.trapi.fx.order.transaction.strategy.unlock.UnlockStrategyListener
      • onActivityTimeout

        public void onActivityTimeout()
        Specified by:
        onActivityTimeout in interface com.caplin.ret.trapi.fx.order.transaction.strategy.modify.ModifyStrategyListener