public class DefaultMonetaryConversionsSpi
extends java.lang.Object
implements javax.money.spi.MonetaryConversionsSpi
MonetaryConversionsSpi
interface, backing
up the MonetaryConversions
singleton.Constructor and Description |
---|
DefaultMonetaryConversionsSpi()
Constructors, loads the providers from the
Bootstrap component. |
Modifier and Type | Method and Description |
---|---|
javax.money.convert.CurrencyConversion |
getConversion(javax.money.CurrencyUnit termCurrency,
javax.money.convert.ConversionContext conversionContext,
java.lang.String... providers)
Access an instance of
CurrencyConversion . |
java.util.List<java.lang.String> |
getDefaultProviderChain()
Get the default provider chain used.
|
javax.money.convert.ExchangeRateProvider |
getExchangeRateProvider(java.lang.String... providers)
Access an instance of
ExchangeRateProvider . |
javax.money.convert.ProviderContext |
getProviderContext(java.lang.String provider)
Get the
ProviderContext for a provider. |
java.util.Set<java.lang.String> |
getProviderNames()
Get all currently registered provider names.
|
boolean |
isProviderAvailable(java.lang.String provider)
Allows to quickly check, if a
ProviderContext is supported. |
void |
reload()
Reloads/reinitializes the providers found.
|
public DefaultMonetaryConversionsSpi()
Bootstrap
component.public javax.money.convert.CurrencyConversion getConversion(javax.money.CurrencyUnit termCurrency, javax.money.convert.ConversionContext conversionContext, java.lang.String... providers)
javax.money.spi.MonetaryConversionsSpi
CurrencyConversion
.getConversion
in interface javax.money.spi.MonetaryConversionsSpi
termCurrency
- the terminating or target currency, not null
conversionContext
- The ConversionContext
required, not null
providers
- The providers to be used, in order of precedence, for building
a provider chain. At least one provider must be passed.MonetaryConversionsSpi.isProviderAvailable(String)
public java.util.List<java.lang.String> getDefaultProviderChain()
javax.money.spi.MonetaryConversionsSpi
getDefaultProviderChain
in interface javax.money.spi.MonetaryConversionsSpi
null
and not empty.public javax.money.convert.ExchangeRateProvider getExchangeRateProvider(java.lang.String... providers)
javax.money.spi.MonetaryConversionsSpi
ExchangeRateProvider
.getExchangeRateProvider
in interface javax.money.spi.MonetaryConversionsSpi
providers
- The providers to be used, in order of precedence, for building
a provider chain. At least one provider must be passed.ExchangeRateProvider
built up with the given sub
providers, never null
MonetaryConversionsSpi.isProviderAvailable(String)
public javax.money.convert.ProviderContext getProviderContext(java.lang.String provider)
javax.money.spi.MonetaryConversionsSpi
ProviderContext
for a provider.getProviderContext
in interface javax.money.spi.MonetaryConversionsSpi
provider
- the provider name, not null
.ProviderContext
, not null
.public java.util.Set<java.lang.String> getProviderNames()
javax.money.spi.MonetaryConversionsSpi
getProviderNames
in interface javax.money.spi.MonetaryConversionsSpi
ProviderContext.getProviderName()
public boolean isProviderAvailable(java.lang.String provider)
javax.money.spi.MonetaryConversionsSpi
ProviderContext
is supported.isProviderAvailable
in interface javax.money.spi.MonetaryConversionsSpi
provider
- The provider required, not null
true
, if the rate is supported, meaning an according
ExchangeRateProvider
or CurrencyConversion
can be
loaded.MonetaryConversionsSpi.getConversion(CurrencyUnit, ConversionContext, String...)
,
MonetaryConversionsSpi.getExchangeRateProvider(String...)
public void reload()