java.lang.Object
com.caplin.motif.UserTrade
com.caplin.generated.motif.fx.trading.rfs.RFSTrade
All Implemented Interfaces:
RFSCoreTrade

public class RFSTrade extends UserTrade implements RFSCoreTrade

A single RFSTrade active in the system.

A Trade is initiated by a client and is tied to a TradeChannel. The lifecycle of a Trade consists of a number of messages, represented by TradeEvents, being sent between the client and the Trading System in both directions. These messages cause the Trade to transition between a number of predefined states.

Trades are comprised of one or more trade legs, which each leg representing the exchange of a financial instrument and the resultant cash flow. It is possible to add, remove and update trades from the client or from the TradingDataSource.

A Trade is uniquely identified in two ways: by RequestId set by the client and a TradeId set by the Trading System.

  • Constructor Details

    • RFSTrade

      public RFSTrade(@NotNull @NotNull com.caplin.trading.Trade backingTrade, @NotNull @NotNull ScheduledExecutorService executorService)

      Constructor used by the generated code.

      Parameters:
      backingTrade - To be used for the parent constructor
      executorService - To be used for the parent constructor (What service is going execute the backingTrade)
  • Method Details

    • createErrorTradeEvent

      @NotNull public @NotNull ErrorTradeEvent createErrorTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the Error transition in the trade model of the adapter and client application

      Specified by:
      createErrorTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of ErrorTradeEvent.
    • sendErrorEvent

      public void sendErrorEvent(@NotNull @NotNull ErrorTradeEvent event)

      Send a TradeEvent to trigger the Error transition in the trade model of the adapter and client application

      Specified by:
      sendErrorEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • createSubmitAckTradeEvent

      @NotNull public @NotNull SubmitAckTradeEvent createSubmitAckTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the SubmitAck transition in the trade model of the adapter and client application

      Specified by:
      createSubmitAckTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of SubmitAckTradeEvent.
    • sendSubmitAckEvent

      public void sendSubmitAckEvent(@NotNull @NotNull SubmitAckTradeEvent event)

      Send a TradeEvent to trigger the SubmitAck transition in the trade model of the adapter and client application

      Specified by:
      sendSubmitAckEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendSubmitAckEvent

      public void sendSubmitAckEvent()

      Send a TradeEvent with no fields to trigger the SubmitAck transition in the trade model of the adapter and client application

      Specified by:
      sendSubmitAckEvent in interface RFSCoreTrade
    • createRejectTradeEvent

      @NotNull public @NotNull RejectTradeEvent createRejectTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the Reject transition in the trade model of the adapter and client application

      Specified by:
      createRejectTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of RejectTradeEvent.
    • sendRejectEvent

      public void sendRejectEvent(@NotNull @NotNull RejectTradeEvent event)

      Send a TradeEvent to trigger the Reject transition in the trade model of the adapter and client application

      Specified by:
      sendRejectEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • createClientCloseAckTradeEvent

      @NotNull public @NotNull ClientCloseAckTradeEvent createClientCloseAckTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the ClientCloseAck transition in the trade model of the adapter and client application

      Specified by:
      createClientCloseAckTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of ClientCloseAckTradeEvent.
    • sendClientCloseAckEvent

      public void sendClientCloseAckEvent(@NotNull @NotNull ClientCloseAckTradeEvent event)

      Send a TradeEvent to trigger the ClientCloseAck transition in the trade model of the adapter and client application

      Specified by:
      sendClientCloseAckEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendClientCloseAckEvent

      public void sendClientCloseAckEvent()

      Send a TradeEvent with no fields to trigger the ClientCloseAck transition in the trade model of the adapter and client application

      Specified by:
      sendClientCloseAckEvent in interface RFSCoreTrade
    • createWithdrawTradeEvent

      @NotNull public @NotNull WithdrawTradeEvent createWithdrawTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the Withdraw transition in the trade model of the adapter and client application

      Specified by:
      createWithdrawTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of WithdrawTradeEvent.
    • sendWithdrawEvent

      public void sendWithdrawEvent(@NotNull @NotNull WithdrawTradeEvent event)

      Send a TradeEvent to trigger the Withdraw transition in the trade model of the adapter and client application

      Specified by:
      sendWithdrawEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendWithdrawEvent

      public void sendWithdrawEvent()

      Send a TradeEvent with no fields to trigger the Withdraw transition in the trade model of the adapter and client application

      Specified by:
      sendWithdrawEvent in interface RFSCoreTrade
    • createExecuteAckTradeEvent

      @NotNull public @NotNull ExecuteAckTradeEvent createExecuteAckTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the ExecuteAck transition in the trade model of the adapter and client application

      Specified by:
      createExecuteAckTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of ExecuteAckTradeEvent.
    • sendExecuteAckEvent

      public void sendExecuteAckEvent(@NotNull @NotNull ExecuteAckTradeEvent event)

      Send a TradeEvent to trigger the ExecuteAck transition in the trade model of the adapter and client application

      Specified by:
      sendExecuteAckEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendExecuteAckEvent

      public void sendExecuteAckEvent()

      Send a TradeEvent with no fields to trigger the ExecuteAck transition in the trade model of the adapter and client application

      Specified by:
      sendExecuteAckEvent in interface RFSCoreTrade
    • createPriceUpdateTradeEvent

      @NotNull public @NotNull PriceUpdateTradeEvent createPriceUpdateTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the PriceUpdate transition in the trade model of the adapter and client application

      Specified by:
      createPriceUpdateTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of PriceUpdateTradeEvent.
    • sendPriceUpdateEvent

      public void sendPriceUpdateEvent(@NotNull @NotNull PriceUpdateTradeEvent event)

      Send a TradeEvent to trigger the PriceUpdate transition in the trade model of the adapter and client application

      Specified by:
      sendPriceUpdateEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendPriceUpdateEvent

      public void sendPriceUpdateEvent(@NotNull @NotNull Message message)

      Send a TradeEvent to trigger the PriceUpdate transition in the trade model of the adapter and client application

      Parameters:
      message - The message to send.
    • createPriceUpdateTradeEvent

      @NotNull public @NotNull PriceUpdateTradeEvent createPriceUpdateTradeEvent(@NotNull @NotNull Message message)

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the PriceUpdate transition in the trade model of the adapter and client application

      Specified by:
      createPriceUpdateTradeEvent in interface RFSCoreTrade
      Parameters:
      message - a Message to be passed to the TradeEvent
      Returns:
      A new instance of PriceUpdateTradeEvent.
    • createWarningTradeEvent

      @NotNull public @NotNull WarningTradeEvent createWarningTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the Warning transition in the trade model of the adapter and client application

      Specified by:
      createWarningTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of WarningTradeEvent.
    • sendWarningEvent

      public void sendWarningEvent(@NotNull @NotNull WarningTradeEvent event)

      Send a TradeEvent to trigger the Warning transition in the trade model of the adapter and client application

      Specified by:
      sendWarningEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendWarningEvent

      public void sendWarningEvent(@NotNull @NotNull Message message)

      Send a TradeEvent to trigger the Warning transition in the trade model of the adapter and client application

      Parameters:
      message - The message to send.
    • createWarningTradeEvent

      @NotNull public @NotNull WarningTradeEvent createWarningTradeEvent(@NotNull @NotNull Message message)

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the Warning transition in the trade model of the adapter and client application

      Specified by:
      createWarningTradeEvent in interface RFSCoreTrade
      Parameters:
      message - a Message to be passed to the TradeEvent
      Returns:
      A new instance of WarningTradeEvent.
    • createHoldTradeEvent

      @NotNull public @NotNull HoldTradeEvent createHoldTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the Hold transition in the trade model of the adapter and client application

      Specified by:
      createHoldTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of HoldTradeEvent.
    • sendHoldEvent

      public void sendHoldEvent(@NotNull @NotNull HoldTradeEvent event)

      Send a TradeEvent to trigger the Hold transition in the trade model of the adapter and client application

      Specified by:
      sendHoldEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendHoldEvent

      public void sendHoldEvent()

      Send a TradeEvent with no fields to trigger the Hold transition in the trade model of the adapter and client application

      Specified by:
      sendHoldEvent in interface RFSCoreTrade
    • createExpireTradeEvent

      @NotNull public @NotNull ExpireTradeEvent createExpireTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the Expire transition in the trade model of the adapter and client application

      Specified by:
      createExpireTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of ExpireTradeEvent.
    • sendExpireEvent

      public void sendExpireEvent(@NotNull @NotNull ExpireTradeEvent event)

      Send a TradeEvent to trigger the Expire transition in the trade model of the adapter and client application

      Specified by:
      sendExpireEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendExpireEvent

      public void sendExpireEvent()

      Send a TradeEvent with no fields to trigger the Expire transition in the trade model of the adapter and client application

      Specified by:
      sendExpireEvent in interface RFSCoreTrade
    • createPickUpTradeEvent

      @NotNull public @NotNull PickUpTradeEvent createPickUpTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the PickUp transition in the trade model of the adapter and client application

      Specified by:
      createPickUpTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of PickUpTradeEvent.
    • sendPickUpEvent

      public void sendPickUpEvent(@NotNull @NotNull PickUpTradeEvent event)

      Send a TradeEvent to trigger the PickUp transition in the trade model of the adapter and client application

      Specified by:
      sendPickUpEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendPickUpEvent

      public void sendPickUpEvent()

      Send a TradeEvent with no fields to trigger the PickUp transition in the trade model of the adapter and client application

      Specified by:
      sendPickUpEvent in interface RFSCoreTrade
    • createTradeConfirmationTradeEvent

      @NotNull public @NotNull TradeConfirmationTradeEvent createTradeConfirmationTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the TradeConfirmation transition in the trade model of the adapter and client application

      Specified by:
      createTradeConfirmationTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of TradeConfirmationTradeEvent.
    • sendTradeConfirmationEvent

      public void sendTradeConfirmationEvent(@NotNull @NotNull TradeConfirmationTradeEvent event)

      Send a TradeEvent to trigger the TradeConfirmation transition in the trade model of the adapter and client application

      Specified by:
      sendTradeConfirmationEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendTradeConfirmationEvent

      public void sendTradeConfirmationEvent(@NotNull @NotNull Message message)

      Send a TradeEvent to trigger the TradeConfirmation transition in the trade model of the adapter and client application

      Parameters:
      message - The message to send.
    • createTradeConfirmationTradeEvent

      @NotNull public @NotNull TradeConfirmationTradeEvent createTradeConfirmationTradeEvent(@NotNull @NotNull Message message)

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the TradeConfirmation transition in the trade model of the adapter and client application

      Specified by:
      createTradeConfirmationTradeEvent in interface RFSCoreTrade
      Parameters:
      message - a Message to be passed to the TradeEvent
      Returns:
      A new instance of TradeConfirmationTradeEvent.
    • createAcceptWarningAckTradeEvent

      @NotNull public @NotNull AcceptWarningAckTradeEvent createAcceptWarningAckTradeEvent()

      Create a TradeEvent that can be passed to Trade.sendEvent to trigger the AcceptWarningAck transition in the trade model of the adapter and client application

      Specified by:
      createAcceptWarningAckTradeEvent in interface RFSCoreTrade
      Returns:
      A new instance of AcceptWarningAckTradeEvent.
    • sendAcceptWarningAckEvent

      public void sendAcceptWarningAckEvent(@NotNull @NotNull AcceptWarningAckTradeEvent event)

      Send a TradeEvent to trigger the AcceptWarningAck transition in the trade model of the adapter and client application

      Specified by:
      sendAcceptWarningAckEvent in interface RFSCoreTrade
      Parameters:
      event - The event to send.
    • sendAcceptWarningAckEvent

      public void sendAcceptWarningAckEvent()

      Send a TradeEvent with no fields to trigger the AcceptWarningAck transition in the trade model of the adapter and client application

      Specified by:
      sendAcceptWarningAckEvent in interface RFSCoreTrade