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.Exchange
protected final String
protected org.knowm.xchange.service.marketdata.MarketDataService
protected final Map
<CurrencyUnitPair, KnowmExchangeRateProvider.MonitoredCurrency> protected String
protected javax.money.convert.ProviderContext
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
KnowmExchangeRateProvider
(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 ExchangeRateChange
buildExchangeRateChange
(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.ProviderContext
javax.money.convert.CurrencyConversion
getCurrencyConversion
(javax.money.convert.ConversionQuery conversionQuery) javax.money.convert.ExchangeRate
getExchangeRate
(javax.money.convert.ConversionQuery conversionQuery) getUpdate
(CurrencyUnitPair pair) void
boolean
isAvailable
(javax.money.convert.ConversionQuery conversionQuery) 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"Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
getContext
in interfacejavax.money.convert.ExchangeRateProvider
-
isAvailable
- Specified by:
isAvailable
in interfacejavax.money.convert.ExchangeRateProvider
-
getExchangeRate
public javax.money.convert.ExchangeRate getExchangeRate(javax.money.convert.ConversionQuery conversionQuery) - Specified by:
getExchangeRate
in interfacejavax.money.convert.ExchangeRateProvider
-
getCurrencyConversion
public javax.money.convert.CurrencyConversion getCurrencyConversion(javax.money.convert.ConversionQuery conversionQuery) - Specified by:
getCurrencyConversion
in 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
-