com.teraspaces.qwfix.ordermanager
Interface FIXSessionOrderManagerSellSideListener


public interface FIXSessionOrderManagerSellSideListener

The listener interface for receiving sell side events. The class that is interested in processing a FIXSessionOrderManagerSellSide event implements this interface, and the object created with that class is registered with a component using the component's addSellSideListener method. When the sell side event occurs, that object's appropriate method is invoked.

See Also:
FIXSessionOrderManager.addSellSideListener(FIXSessionOrderManagerSellSideListener), FIXSessionOrderManager.removeSellSideListener(FIXSessionOrderManagerSellSideListener)

Method Summary
 void newOrderAutoRejected(FIXOrder order, FIXMessage rejectExecMessage)
          Occurs when an order is automatically rejected.
 void newOrderReceived(FIXMessage newOrderMessage)
          Occurs when the current session receives a new order.
 void orderAutoCancelRejected(FIXRegularOrder order, FIXMessage cxlRejMessage, FIXMessageComponent origOrder)
          Occurs when an incoming "Order Cancel Request" or "Order Replace Request" is automatically rejected.
 void orderCancelRequestReceived(FIXOrder order, FIXMessage requestMessage)
          Occurs when the current session receives an "Order Cancel Request".
 void orderReplaceRequestReceived(FIXOrder order, FIXMessage requestMessage)
          Occurs when the current session receives an "Order Cancel/Replace Request".
 

Method Detail

newOrderReceived

void newOrderReceived(FIXMessage newOrderMessage)
Occurs when the current session receives a new order. It is triggered on a sell side session only.

The event is only triggered when engine status is NORMAL.

This event gives a sell side application a chance to reject an order before it reaches the higher level business logic code, by throwing out a FIXOrderManagerOrderRejectException.

This event is triggered before the FIXSessionOrderManagerCommonListener.orderAdded(FIXOrder, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus) event. If this event throws an exception, the order will not be added at all and newOrderAutoRejected(FIXOrder, FIXMessage) will be triggered instead.

Parameters:
newOrderMessage - the new order message

orderCancelRequestReceived

void orderCancelRequestReceived(FIXOrder order,
                                FIXMessage requestMessage)
Occurs when the current session receives an "Order Cancel Request". It is triggered on a sell side session only.

The event is only triggered when engine status is NORMAL.

This event gives a sell side application a chance to reject a cancel request before it reaches the higher level business logic code, by throwing out a FIXOrderManagerCancelRejectException exception.

This event is triggered before the FIXSessionOrderManagerCommonListener.orderCancelRequestAdded(FIXOrder, FIXMessage, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus) event. If this event throws an exception, the order will not be added at all and orderAutoCancelRejected(FIXRegularOrder, FIXMessage, FIXMessageComponent) will be triggered instead.

Parameters:
order - the order
requestMessage - the request message

orderReplaceRequestReceived

void orderReplaceRequestReceived(FIXOrder order,
                                 FIXMessage requestMessage)
Occurs when the current session receives an "Order Cancel/Replace Request". It is triggered on a sell side session only.

The event is only triggered when engine status is NORMAL.

This event gives a sell side application a chance to reject a replace request before it reaches the higher level business logic code, by throwing out a FIXOrderManagerCancelRejectException exception.

This event is triggered before the FIXSessionOrderManagerCommonListener.orderReplaceRequestAdded(FIXOrder, FIXMessage, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus) event. If this event throws an exception, the order will not be added at all and orderAutoCancelRejected(FIXRegularOrder, FIXMessage, FIXMessageComponent) will be triggered instead.

Parameters:
order - the order
requestMessage - the request message

newOrderAutoRejected

void newOrderAutoRejected(FIXOrder order,
                          FIXMessage rejectExecMessage)
Occurs when an order is automatically rejected.

The event is only triggered when engine status is NORMAL.

This event is only triggered when newOrderReceived(FIXMessage) event handler or New Order Received Visual Lambda module throws an exception on new order.

If a new order is automatically rejected, this event is triggered. The FIXSessionOrderManagerCommonListener.orderAdded(FIXOrder, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus) event will not be triggered.

However, in recovery process or hot backup process, this event is never triggered. Instead, two events will be triggered; an FIXSessionOrderManagerCommonListener#OrderAdded event immediately followed by an FIXSessionOrderManagerExecutionListener.executionRejectedAdded(FIXRegularOrder, FIXMessage, int, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus) event.

Parameters:
order - the order
rejectExecMessage - the reject execution message

orderAutoCancelRejected

void orderAutoCancelRejected(FIXRegularOrder order,
                             FIXMessage cxlRejMessage,
                             FIXMessageComponent origOrder)
Occurs when an incoming "Order Cancel Request" or "Order Replace Request" is automatically rejected. It is triggered on a sell side session only.

The event is only triggered when engine status is NORMAL.

This event is triggered by exceptions thrown out from orderCancelRequestReceived(FIXOrder, FIXMessage) or corresponding Visual Lambda module.

This event will only be triggered for sell side sessions. If this event is triggered, FIXSessionOrderManagerCommonListener.orderCancelRequestAdded(FIXOrder, FIXMessage, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus), FIXSessionOrderManagerCommonListener.orderReplaceRequestAdded(FIXOrder, FIXMessage, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus) or FIXSessionOrderManagerCommonListener.orderCancelRejectAdded(FIXRegularOrder, FIXMessage, FIXMessageComponent, com.teraspaces.qwfix.FIXEngineMessageHandlerStatus) will not be be triggered.

However, in recovery process or hot backup process, this event is never triggered. Those three "normal" events will be triggered.

Parameters:
order - the order
cxlRejMessage - the "Cancel Reject" message
origOrder - the original order