Class AllocateTrade


  • public class AllocateTrade
    extends UserTrade

    A single AllocateTrade 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 Detail

      • AllocateTrade

        public AllocateTrade​(@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 Detail

      • createAllocateAckTradeEvent

        @NotNull
        public @NotNull AllocateAckTradeEvent createAllocateAckTradeEvent()

        Create a TradeEvent that can be used to trigger the trade to transition into the AllocateAck state.

        Returns:
        A new instance of AllocateAckTradeEvent.
      • sendAllocateAckEvent

        public void sendAllocateAckEvent​(@NotNull
                                         @NotNull AllocateAckTradeEvent event)

        Send a TradeEvent to trigger the trade to transition into the AllocateAck state.

        Parameters:
        event - The event to send.
      • sendAllocateAckEvent

        public void sendAllocateAckEvent()

        Send a TradeEvent with no fields to trigger the trade to transition into the AllocateAck state.

      • createRejectTradeEvent

        @NotNull
        public @NotNull RejectTradeEvent createRejectTradeEvent()

        Create a TradeEvent that can be used to trigger the trade to transition into the Reject state.

        Returns:
        A new instance of RejectTradeEvent.
      • sendRejectEvent

        public void sendRejectEvent​(@NotNull
                                    @NotNull RejectTradeEvent event)

        Send a TradeEvent to trigger the trade to transition into the Reject state.

        Parameters:
        event - The event to send.
      • sendRejectEvent

        public void sendRejectEvent()

        Send a TradeEvent with no fields to trigger the trade to transition into the Reject state.

      • createErrorTradeEvent

        @NotNull
        public @NotNull ErrorTradeEvent createErrorTradeEvent()

        Create a TradeEvent that can be used to trigger the trade to transition into the Error state.

        Returns:
        A new instance of ErrorTradeEvent.
      • sendErrorEvent

        public void sendErrorEvent​(@NotNull
                                   @NotNull ErrorTradeEvent event)

        Send a TradeEvent to trigger the trade to transition into the Error state.

        Parameters:
        event - The event to send.
      • sendErrorEvent

        public void sendErrorEvent()

        Send a TradeEvent with no fields to trigger the trade to transition into the Error state.

      • createHoldTradeEvent

        @NotNull
        public @NotNull HoldTradeEvent createHoldTradeEvent()

        Create a TradeEvent that can be used to trigger the trade to transition into the Hold state.

        Returns:
        A new instance of HoldTradeEvent.
      • sendHoldEvent

        public void sendHoldEvent​(@NotNull
                                  @NotNull HoldTradeEvent event)

        Send a TradeEvent to trigger the trade to transition into the Hold state.

        Parameters:
        event - The event to send.
      • sendHoldEvent

        public void sendHoldEvent()

        Send a TradeEvent with no fields to trigger the trade to transition into the Hold state.

      • createWithdrawTradeEvent

        @NotNull
        public @NotNull WithdrawTradeEvent createWithdrawTradeEvent()

        Create a TradeEvent that can be used to trigger the trade to transition into the Withdraw state.

        Returns:
        A new instance of WithdrawTradeEvent.
      • sendWithdrawEvent

        public void sendWithdrawEvent​(@NotNull
                                      @NotNull WithdrawTradeEvent event)

        Send a TradeEvent to trigger the trade to transition into the Withdraw state.

        Parameters:
        event - The event to send.
      • sendWithdrawEvent

        public void sendWithdrawEvent()

        Send a TradeEvent with no fields to trigger the trade to transition into the Withdraw state.

      • createDetailsUpdateTradeEvent

        @NotNull
        public @NotNull DetailsUpdateTradeEvent createDetailsUpdateTradeEvent()

        Create a TradeEvent that can be used to trigger the trade to transition into the DetailsUpdate state.

        Returns:
        A new instance of DetailsUpdateTradeEvent.
      • sendDetailsUpdateEvent

        public void sendDetailsUpdateEvent​(@NotNull
                                           @NotNull DetailsUpdateTradeEvent event)

        Send a TradeEvent to trigger the trade to transition into the DetailsUpdate state.

        Parameters:
        event - The event to send.
      • sendDetailsUpdateEvent

        public void sendDetailsUpdateEvent​(@NotNull
                                           @NotNull Message message)

        Send a TradeEvent to trigger the trade to transition into the DetailsUpdate state.

        Parameters:
        message - The message to send.
      • createDetailsUpdateTradeEvent

        @NotNull
        public @NotNull DetailsUpdateTradeEvent createDetailsUpdateTradeEvent​(@NotNull
                                                                              @NotNull Message message)

        Create a TradeEvent that can be used to trigger the trade to transition into the DetailsUpdate state.

        Parameters:
        message - a Message to be passed to the TradeEvent
        Returns:
        A new instance of DetailsUpdateTradeEvent.
      • createClientCloseAckTradeEvent

        @NotNull
        public @NotNull ClientCloseAckTradeEvent createClientCloseAckTradeEvent()

        Create a TradeEvent that can be used to trigger the trade to transition into the ClientCloseAck state.

        Returns:
        A new instance of ClientCloseAckTradeEvent.
      • sendClientCloseAckEvent

        public void sendClientCloseAckEvent​(@NotNull
                                            @NotNull ClientCloseAckTradeEvent event)

        Send a TradeEvent to trigger the trade to transition into the ClientCloseAck state.

        Parameters:
        event - The event to send.
      • sendClientCloseAckEvent

        public void sendClientCloseAckEvent()

        Send a TradeEvent with no fields to trigger the trade to transition into the ClientCloseAck state.