Class MMRatesAdapter


  • public class MMRatesAdapter
    extends CachedAdapter

    An MMRatesAdapter services rate streaming for ESP rates. The adapter also supports streaming prices for broken dates.

    Typically, an MMRatesAdapter will be setup as follows:

     MMRatesAdapter adapter = new MMRatesAdapter(dataSource);
     
    • Constructor Detail

      • MMRatesAdapter

        public MMRatesAdapter​(com.caplin.datasource.DataSource dataSource)
        Constructs an MMRatesAdapter that will utilise the specified DataSource and its configuration for communication with the motif.
        Parameters:
        dataSource - The DataSource that will be used to receive requests for ESP rates. As well as requests for prices on Broken Dates.
    • Method Detail

      • createQuotePublisher

        public SubjectMessagePublisher<RateSubjectInfo> createQuotePublisher​(java.lang.String namespace,
                                                                             CachedDataProvider<RateSubjectInfo> provider,
                                                                             boolean sendDiscardAfterError)
        Creates an MMQuotePublisher that is able to respond to messages received on the CachedDataProvider that is passed in.
        Parameters:
        namespace - the namespace to provide rates for, defaults are defined in RateSubjectNamespacing.DefaultNamespaces
        provider - the CachedDataProvider that will receive the rate requests
        sendDiscardAfterError - If set to TRUE, your CachedDataProvider will receive an immediate callback on the CachedDataProvider.onDiscard(SubjectInfo) method after you publish a failure message by calling SubjectMessagePublisher.sendNotFound(SubjectInfo). This can be useful if you want to use the same code path to clear a cache (for example) whether a subscription is ended by the client discarding it or the back end you are integrating with no longer providing the data.
        Returns:
        the MMQuotePublisher able to send quotes containing rates
      • createQuotePublisherWithSubjectParser

        public SubjectMessagePublisher<RateSubjectInfo> createQuotePublisherWithSubjectParser​(java.lang.String namespace,
                                                                                              CachedDataProvider<RateSubjectInfo> provider,
                                                                                              RateSubjectParser subjectParser)
        Creates an MMQuotePublisher that is able to respond to messages received on the CachedDataProvider that is passed in.
        Parameters:
        namespace - the namespace to provide rates for, defaults are defined in RateSubjectNamespacing.DefaultNamespaces
        provider - the CachedDataProvider that will receive the rate requests
        subjectParser - the parser that will parse rate subject requests into an object representation of the request.
        Returns:
        the MMQuotePublisher able to send quotes containing rates
      • createQuotePublisherWithSubjectParser

        public SubjectMessagePublisher<RateSubjectInfo> createQuotePublisherWithSubjectParser​(java.lang.String namespace,
                                                                                              CachedDataProvider<RateSubjectInfo> provider,
                                                                                              RateSubjectParser subjectParser,
                                                                                              boolean sendDiscardAfterError)
        Creates an MMQuotePublisher that is able to respond to messages received on the CachedDataProvider that is passed in.
        Parameters:
        namespace - the namespace to provide rates for, defaults are defined in RateSubjectNamespacing.DefaultNamespaces
        provider - the CachedDataProvider that will receive the rate requests
        subjectParser - the parser that will parse rate subject requests into an object representation of the request.
        sendDiscardAfterError - If set to TRUE, your CachedDataProvider will receive an immediate callback on the CachedDataProvider.onDiscard(SubjectInfo) method after you publish a failure message by calling SubjectMessagePublisher.sendNotFound(SubjectInfo). This can be useful if you want to use the same code path to clear a cache (for example) whether a subscription is ended by the client discarding it or the back end you are integrating with no longer providing the data.
        Returns:
        the MMQuotePublisher able to send quotes containing rates
      • createNoticeRatesQuotePublisher

        public SubjectMessagePublisher<NoticeRateSubjectInfo> createNoticeRatesQuotePublisher​(java.lang.String namespace,
                                                                                              CachedDataProvider<NoticeRateSubjectInfo> provider,
                                                                                              boolean sendDiscardAfterError)
        Creates an MMQuotePublisher that is able to respond to messages received on the CachedDataProvider that is passed in.
        Parameters:
        namespace - the namespace to provide notice rates for, defaults are defined in RateSubjectNamespacing.DefaultNamespaces
        provider - the CachedDataProvider that will receive the notice rate requests
        sendDiscardAfterError - If set to TRUE, your CachedDataProvider will receive an immediate callback on the CachedDataProvider.onDiscard(SubjectInfo) method after you publish a failure message by calling SubjectMessagePublisher.sendNotFound(SubjectInfo). This can be useful if you want to use the same code path to clear a cache (for example) whether a subscription is ended by the client discarding it or the back end you are integrating with no longer providing the data.
        Returns:
        the MMQuotePublisher able to send quotes containing notice rates
      • createNoticeRatesQuotePublisherWithSubjectParser

        public SubjectMessagePublisher<NoticeRateSubjectInfo> createNoticeRatesQuotePublisherWithSubjectParser​(java.lang.String namespace,
                                                                                                               CachedDataProvider<NoticeRateSubjectInfo> provider,
                                                                                                               NoticeRateSubjectParser subjectParser)
        Creates an MMQuotePublisher that is able to respond to messages received on the CachedDataProvider that is passed in.
        Parameters:
        namespace - the namespace to provide notice rates for, defaults are defined in RateSubjectNamespacing.DefaultNamespaces
        provider - the CachedDataProvider that will receive the notice rate requests
        subjectParser - the parser that will parse notice rate subject requests into an object representation of the request.
        Returns:
        the MMQuotePublisher able to send quotes containing notice rates
      • createNoticeRatesQuotePublisherWithSubjectParser

        public SubjectMessagePublisher<NoticeRateSubjectInfo> createNoticeRatesQuotePublisherWithSubjectParser​(java.lang.String namespace,
                                                                                                               CachedDataProvider<NoticeRateSubjectInfo> provider,
                                                                                                               NoticeRateSubjectParser subjectParser,
                                                                                                               boolean sendDiscardAfterError)
        Creates an MMQuotePublisher that is able to respond to messages received on the CachedDataProvider that is passed in.
        Parameters:
        namespace - the namespace to provide notice rates for, defaults are defined in RateSubjectNamespacing.DefaultNamespaces
        provider - the CachedDataProvider that will receive the notice rate requests
        subjectParser - the parser that will parse notice rate subject requests into an object representation of the request.
        sendDiscardAfterError - If set to TRUE, your CachedDataProvider will receive an immediate callback on the CachedDataProvider.onDiscard(SubjectInfo) method after you publish a failure message by calling SubjectMessagePublisher.sendNotFound(SubjectInfo). This can be useful if you want to use the same code path to clear a cache (for example) whether a subscription is ended by the client discarding it or the back end you are integrating with no longer providing the data.
        Returns:
        the MMQuotePublisher able to send quotes containing notice rates