Class KnowmExchangeRateProvider

java.lang.Object
org.consensusj.exchange.knowm.KnowmExchangeRateProvider
All Implemented Interfaces:
javax.money.convert.ExchangeRateProvider
Direct Known Subclasses:
BaseXChangeExchangeRateProvider

public class KnowmExchangeRateProvider extends Object implements javax.money.convert.ExchangeRateProvider
  • Field Details

  • Constructor Details

    • KnowmExchangeRateProvider

      protected KnowmExchangeRateProvider(String exchangeClassName, Map<javax.money.CurrencyUnit,String> tickerSymbolConversions, Collection<CurrencyUnitPair> pairs)
      Construct using an XChange Exchange class object for a set of currencies
      Parameters:
      exchangeClassName - Classname of XChange exchange we are wrapping
      pairs - pairs to monitor
  • Method Details

    • initialize

      public void initialize()
    • getUpdate

    • getContext

      public javax.money.convert.ProviderContext getContext()
      Specified by:
      getContext in interface javax.money.convert.ExchangeRateProvider
    • isAvailable

      public boolean isAvailable(javax.money.convert.ConversionQuery conversionQuery)
      Specified by:
      isAvailable in interface javax.money.convert.ExchangeRateProvider
    • getExchangeRate

      public javax.money.convert.ExchangeRate getExchangeRate(javax.money.convert.ConversionQuery conversionQuery)
      Specified by:
      getExchangeRate in interface javax.money.convert.ExchangeRateProvider
    • getCurrencyConversion

      public javax.money.convert.CurrencyConversion getCurrencyConversion(javax.money.convert.ConversionQuery conversionQuery)
      Specified by:
      getCurrencyConversion in interface javax.money.convert.ExchangeRateProvider
    • buildExchangeRateChange

      protected ExchangeRateChange buildExchangeRateChange(CurrencyUnitPair pair, org.knowm.xchange.dto.marketdata.Ticker ticker)
    • xchangePair

      protected org.knowm.xchange.currency.CurrencyPair xchangePair(CurrencyUnitPair pair)
      Map from CurrencyUnitPair to XChange CurrencyPair tickerSymbolConversions is used to handle cases like ItBit that uses "XBT" instead of "BTC"
      Parameters:
      pair - CurrencyUnitPair using JavaMoney CurrencyUnits
      Returns:
      XChange CurrencyPair with exchange-specific symbols if any
    • convertSymbol

      public String convertSymbol(javax.money.CurrencyUnit currencyUnit)
      Convert a JavaMoney CurrencyUnit to an XChange currency code string (This will be exchange-specific (e.g. ItBit uses "XBT" instead of "BTC")
      Parameters:
      currencyUnit - A JavaMoney currency unit
      Returns:
      exchange-specific symbol for the currency