Class SettlementInstructionChannel

java.lang.Object
com.caplin.motif.fx.trading.settlement.SettlementInstructionChannel
Direct Known Subclasses:
SalesSettlementInstructionChannel

public class SettlementInstructionChannel extends Object
  • Field Details

    • blotterChannel

      protected final com.caplin.datasource.blotter.BlotterChannel blotterChannel
  • Constructor Details

    • SettlementInstructionChannel

      public SettlementInstructionChannel(com.caplin.datasource.blotter.BlotterChannel blotterChannel)
  • Method Details

    • closeChannel

      public void closeChannel()

      Closes the channel.

      Sends a Subject Not Found on the channel's subject to let subscribers know that it is no longer serviced.

    • getSubject

      public String getSubject()

      Returns the subject for the channel.

      Returns:
      subject for the channel
    • getUsername

      public String getUsername()

      Returns the username for the channel

      Returns:
      username for the channel
    • getEntity

      public String getEntity()

      Returns the entity for the channel

      Returns:
      entity for the channel
    • removeSettlementInstruction

      public void removeSettlementInstruction(String uniqueId)

      Removes the BlotterItem from the internal cache and sends a container remove so that this item is no longer requested when the channel is subscribed to.

      Parameters:
      uniqueId - of the item to remove
    • removeSettlementInstructions

      public void removeSettlementInstructions(List<String> uniqueIds)

      Removes BlotterItems from the internal cache and sends a container remove so that these items are no longer requested when the channel is subscribed to.

      Parameters:
      uniqueIds - of the items to remove
    • clear

      public void clear()

      Clears all BlotterItems from the internal cache and sends a container clear so that these items are no longer requested when the channel is subscribed to.

    • sendSettlementInstruction

      public void sendSettlementInstruction(com.caplin.datasource.blotter.BlotterItem item)

      Adds the BlotterItem to the internal cache and sends a container add so that this item is requested when the channel is subscribed to.

      If an item with the same unique id already exists in the internal cache then that item's fields will be updated with this one. This will then trigger an update for any users currently subscribed to this item.

      Parameters:
      item - to send
    • sendSettlementInstructionNotFound

      public void sendSettlementInstructionNotFound(String uniqueId)

      Sends a not found for a BlotterItem.

      Specifically for the case where there is more than one Integration Adapter providing for the same channel subject.

      Sent in response to a BlotterChannelListener.onBlotterItemRequest(com.caplin.datasource.blotter.BlotterChannel, java.lang.String) when the item requested is not serviceable by your application.

      Parameters:
      uniqueId - of item that cannot be serviced by your application.
    • setSettlementInstructionItems

      public void setSettlementInstructionItems(List<com.caplin.datasource.blotter.BlotterItem> items)

      Adds BlotterItems to the internal cache and sends a container add so that these items are requested when the channel is subscribed to.

      If any items with the same unique id already exists in the internal cache then these items fields will be updated with these one. This will then trigger an update for any users currently subscribed to these items.

      Parameters:
      items - to send
    • sendSettlementInstructionMapping

      public void sendSettlementInstructionMapping(String newSubject)

      Sends a MappingMessage to the Liberator, requesting that the Liberator map this SettlementInstructionChannel instance's subject to the specified subject newSubject.

      Note: Liberator applies mapping rules configured by mapping messages after it applies mapping rules configured by object-map config items.

      This method can be used to provide a user with access to a shared group blotter via a general subject, such as /PRIVATE/FX/GROUPBLOTTER. In the SettlementInstructionListener.settlementInstructionChannelOpened(SettlementInstructionChannel) method for the general subject, determine which group the user is a member of and call sendSettlementInstructionMapping(java.lang.String), passing it the subject of the group's blotter.

      Parameters:
      newSubject - the subject to map this blotter's subject to
    • sendSettlementInstructionStatusOk

      public void sendSettlementInstructionStatusOk(String uniqueId)

      Send status ok for a BlotterItem.

      Under normal circumstances this method is not used.

      Parameters:
      uniqueId - of the message whose status is OK
    • sendSettlementInstructionStatusStale

      public void sendSettlementInstructionStatusStale(String uniqueId)

      Send status stale for a BlotterItem.

      Under normal circumstances this method is not used.

      Parameters:
      uniqueId - of the message whose status is STALE
    • sendSettlementInstructionStatusOk

      public void sendSettlementInstructionStatusOk()

      Sends a status ok on the channel.

      Under normal circumstances this method is not used.

    • sendSettlementInstructionContainerStatusStale

      public void sendSettlementInstructionContainerStatusStale(String message)

      Sends a status stale on the channel with custom message.

      Under normal circumstances this method is not used.

    • sendSettlementInstructionContainerStatusOk

      public void sendSettlementInstructionContainerStatusOk(String message)

      Sends a status ok on the channel with custom message.

      Under normal circumstances this method is not used.

    • sendSettlementInstructionContainerStatusStale

      public void sendSettlementInstructionContainerStatusStale()

      Sends a status stale on the channel.

      Under normal circumstances this method is not used.

    • sendEmptySettlementInstructionContainer

      public void sendEmptySettlementInstructionContainer()

      Sends an empty container on the channel.

      Invoke when a SettlementInstructionListener.settlementInstructionChannelOpened(SettlementInstructionChannel) callback is received and there are currently no BlotterItems to be added for the channel.

      Note: This method is not required if the blotter Configuration option BlotterConfiguration.setAutoSendEmptyContainer() is turned on, in which case the API will send out an empty container for a settlement instruction channel that was opened - unless it is materialized paths