Package org.consensusj.exchange.knowm
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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.knowm.xchange.Exchangeprotected final Stringprotected org.knowm.xchange.service.marketdata.MarketDataServiceprotected final Map<CurrencyUnitPair, KnowmExchangeRateProvider.MonitoredCurrency> protected Stringprotected javax.money.convert.ProviderContext -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedKnowmExchangeRateProvider(String exchangeClassName, Map<javax.money.CurrencyUnit, String> tickerSymbolConversions, Collection<CurrencyUnitPair> pairs) Construct using an XChange Exchange class object for a set of currencies -
Method Summary
Modifier and TypeMethodDescriptionprotected ExchangeRateChangebuildExchangeRateChange(CurrencyUnitPair pair, org.knowm.xchange.dto.marketdata.Ticker ticker) convertSymbol(javax.money.CurrencyUnit currencyUnit) Convert a JavaMoney CurrencyUnit to an XChange currency code string (This will be exchange-specific (e.g.javax.money.convert.ProviderContextjavax.money.convert.CurrencyConversiongetCurrencyConversion(javax.money.convert.ConversionQuery conversionQuery) javax.money.convert.ExchangeRategetExchangeRate(javax.money.convert.ConversionQuery conversionQuery) getUpdate(CurrencyUnitPair pair) voidbooleanisAvailable(javax.money.convert.ConversionQuery conversionQuery) protected org.knowm.xchange.currency.CurrencyPairxchangePair(CurrencyUnitPair pair) Map from CurrencyUnitPair to XChange CurrencyPair tickerSymbolConversions is used to handle cases like ItBit that uses "XBT" instead of "BTC"Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.money.convert.ExchangeRateProvider
getCurrencyConversion, getCurrencyConversion, getExchangeRate, getExchangeRate, getReversed, isAvailable, isAvailable
-
Field Details
-
exchangeClassName
-
tickerSymbolConversions
-
monitoredCurrencies
-
name
-
providerContext
-
marketDataService
-
exchange
-
-
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 wrappingpairs- pairs to monitor
-
-
Method Details
-
initialize
-
getUpdate
-
getContext
- Specified by:
getContextin interfacejavax.money.convert.ExchangeRateProvider
-
isAvailable
- Specified by:
isAvailablein interfacejavax.money.convert.ExchangeRateProvider
-
getExchangeRate
public javax.money.convert.ExchangeRate getExchangeRate(javax.money.convert.ConversionQuery conversionQuery) - Specified by:
getExchangeRatein interfacejavax.money.convert.ExchangeRateProvider
-
getCurrencyConversion
public javax.money.convert.CurrencyConversion getCurrencyConversion(javax.money.convert.ConversionQuery conversionQuery) - Specified by:
getCurrencyConversionin interfacejavax.money.convert.ExchangeRateProvider
-
buildExchangeRateChange
protected ExchangeRateChange buildExchangeRateChange(CurrencyUnitPair pair, org.knowm.xchange.dto.marketdata.Ticker ticker) -
xchangePair
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
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
-