Top Description Inners Fields Constructors Methods
org.javamoney.moneta.convert.ecb

pack-priv abstract Class ECBAbstractRateProvider

extends AbstractRateProvider
implements Listener
Class Inheritance
All Implemented Interfaces
org.javamoney.moneta.spi.loader.LoaderService.Listener
Known Direct Subclasses
org.javamoney.moneta.convert.ecb.ECBCurrentRateProvider, org.javamoney.moneta.convert.ecb.ECBHistoric90RateProvider, org.javamoney.moneta.convert.ecb.ECBHistoricRateProvider
Imports
org.javamoney.moneta.convert.ExchangeRateBuilder, org.javamoney.moneta.spi.AbstractRateProvider, .DefaultNumberValue, org.javamoney.moneta.spi.loader.LoadDataInformation, .LoaderService, org.xml.sax.InputSource, javax.money.CurrencyUnit, .Monetary, .MonetaryException, javax.money.convert.ConversionQuery, .CurrencyConversionException, .ExchangeRate, .ProviderContext, javax.money.spi.Bootstrap, javax.xml.parsers.SAXParser, .SAXParserFactory, java.io.InputStream, java.math.MathContext, java.net.URL, java.time.LocalDate, java.time.format.DateTimeFormatter, java.util.Comparator, .Map, .Objects, java.util.concurrent.ConcurrentHashMap, .CountDownLatch, .TimeUnit, java.util.logging.Level, .Logger, java.util.stream.Collectors, .Stream

Base to all Europe Central Bank implementation.
Authors
otaviojava, Werner Keil

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
public static final CurrencyUnit
BASE_CURRENCY

Base currency of the loaded rates is always EUR.

private static final String
private final ProviderContext
protected volatile CountDownLatch
protected volatile String
private static final Logger
protected final Map<LocalDate, Map<String, ExchangeRate>>
rates

Historic exchange rates, rate timestamp as UTC long.

protected final String
private final SAXParserFactory
saxParserFactory

Parser factory.

Inherited from org.javamoney.moneta.spi.AbstractRateProvider:
log

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private boolean
private ExchangeRate
private ECBAbstractRateProvider.RateResult
private ExchangeRateBuilder
protected abstract String
protected abstract LoadDataInformation

Returns:

the configuration
getDefaultLoadData
()

Gets the default data loading configuration.

public ExchangeRate
public void
newDataLoaded(String resourceId, InputStream is)

Implements org.javamoney.moneta.spi.loader.LoaderService.Listener.newDataLoaded.

Callback called from the LoaderService, when new data was read for a given data item.

private ExchangeRate
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from org.javamoney.moneta.spi.AbstractRateProvider:
dividedividegetContextgetCurrencyConversiongetExchangeContextgetQueryDatesgetScalemultiply

Field Detail

BASE_CURRENCYback to summary
public static final CurrencyUnit BASE_CURRENCY

Base currency of the loaded rates is always EUR.

BASE_CURRENCY_CODEback to summary
private static final String BASE_CURRENCY_CODE
contextback to summary
private final ProviderContext context

Hides org.javamoney.moneta.spi.AbstractRateProvider.context.

loadLockback to summary
protected volatile CountDownLatch loadLock
loadStateback to summary
protected volatile String loadState
LOGback to summary
private static final Logger LOG
ratesback to summary
protected final Map<LocalDate, Map<String, ExchangeRate>> rates

Historic exchange rates, rate timestamp as UTC long.

remoteResourceback to summary
protected final String remoteResource
saxParserFactoryback to summary
private final SAXParserFactory saxParserFactory

Parser factory.

Constructor Detail

ECBAbstractRateProviderback to summary
pack-priv ECBAbstractRateProvider(ProviderContext context, final String remoteRes)

Method Detail

areBothBaseCurrenciesback to summary
private boolean areBothBaseCurrencies(ConversionQuery query)
createExchangeRateback to summary
private ExchangeRate createExchangeRate(ConversionQuery query, ExchangeRateBuilder builder, ExchangeRate sourceRate, ExchangeRate target)
findExchangeRateback to summary
private ECBAbstractRateProvider.RateResult findExchangeRate(ConversionQuery conversionQuery)
getBuilderback to summary
private ExchangeRateBuilder getBuilder(ConversionQuery query)
getDataIdback to summary
protected abstract String getDataId()
getDefaultLoadDataback to summary
protected abstract LoadDataInformation getDefaultLoadData()

Gets the default data loading configuration. This configuration is used if no other is provided.

Returns:LoadDataInformation

the configuration

getExchangeRateback to summary
public ExchangeRate getExchangeRate(ConversionQuery conversionQuery)

Implements abstract org.javamoney.moneta.spi.AbstractRateProvider.getExchangeRate.

Implements javax.money.convert.ExchangeRateProvider.getExchangeRate.

Doc from javax.money.convert.ExchangeRateProvider.getExchangeRate.

Access a ExchangeRate using the given currencies. The ExchangeRate may be, depending on the data provider, real-time or deferred. This method should return the rate that is currently valid.

Annotations
@Override
newDataLoadedback to summary
public void newDataLoaded(String resourceId, InputStream is)

Implements org.javamoney.moneta.spi.loader.LoaderService.Listener.newDataLoaded.

Doc from org.javamoney.moneta.spi.loader.LoaderService.Listener.newDataLoaded.

Callback called from the LoaderService, when new data was read for a given data item.

Annotations
@Override
reverseback to summary
private ExchangeRate reverse(ExchangeRate rate)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
org.javamoney.moneta.convert.ecb back to summary

private Class ECBAbstractRateProvider.RateResult

extends Object
Class Inheritance
  • java.lang.Object
  • org.javamoney.moneta.convert.ecb.ECBAbstractRateProvider.RateResult

Field Summary

Modifier and TypeField and Description
private final Map<String, ExchangeRate>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

targetsback to summary
private final Map<String, ExchangeRate> targets

Constructor Detail

RateResultback to summary
pack-priv RateResult(Map<String, ExchangeRate> targets)