Class DefaultCurrencyConversionService

    • Constructor Detail

    • Method Detail

      • init

        @PostConstruct
        public void init()
      • canCovert

        public boolean canCovert​(javax.money.CurrencyUnit from,
                                 javax.money.CurrencyUnit to)
        Determine if conversion support is available based on a currencyCode from and to. By default, if both currencies are found in the
        Specified by:
        canCovert in interface CurrencyConversionService
        Parameters:
        from - The currency to convert from.
        to - The currency to convert to.
        Returns:
      • convert

        public javax.money.MonetaryAmount convert​(javax.money.MonetaryAmount fromAmount,
                                                  javax.money.CurrencyUnit toCurrency)
        Converts the passed in MonetaryAmount to the requested currency. The value will be rounded to the scale appropriate for the currency and as such, this method should not be used in intermediary calculations. Throws NullPointerException if the currencies cannot be converted. Call canConvert(from,to) before calling to insure support for the convert operation.
        Specified by:
        convert in interface CurrencyConversionService
        Parameters:
        fromAmount -
        toCurrency -
        Returns:
      • refreshExchangeRateData

        @Scheduled(fixedDelayString="${exchange.refresh.rate.in.milliseconds:86400000}")
        public void refreshExchangeRateData()
      • refreshExchangeRateDataByCurrency

        protected void refreshExchangeRateDataByCurrency​(Optional<String> baseCurrency)
      • populateBaseExchangeRates

        protected void populateBaseExchangeRates​(ExchangeRateInfo exchangeRateInfo,
                                                 Map<javax.money.CurrencyUnit,​javax.money.convert.ExchangeRate> rates)
      • populateOtherExchangeRatesFromBase

        protected void populateOtherExchangeRatesFromBase​(javax.money.CurrencyUnit baseCurrency,
                                                          Map<javax.money.CurrencyUnit,​Map<javax.money.CurrencyUnit,​javax.money.convert.ExchangeRate>> ratesMap)
      • buildExchangeRatesFromMap

        protected Map<javax.money.CurrencyUnit,​javax.money.convert.ExchangeRate> buildExchangeRatesFromMap​(javax.money.CurrencyUnit targetCurrency,
                                                                                                                 Map<javax.money.CurrencyUnit,​javax.money.convert.ExchangeRate> baseExchangeRates)
      • invertExchangeRate

        protected javax.money.convert.ExchangeRate invertExchangeRate​(javax.money.convert.ExchangeRate origRate,
                                                                      javax.money.NumberValue newFactor)
      • getDefaultContext

        protected javax.money.convert.ConversionContext getDefaultContext()
      • convertExchangeRate

        protected javax.money.convert.ExchangeRate convertExchangeRate​(javax.money.convert.ExchangeRate fromBaseToSrc,
                                                                       javax.money.convert.ExchangeRate fromBaseToTarget,
                                                                       javax.money.NumberValue newFactor)
      • getDefaultRoundingMode

        protected RoundingMode getDefaultRoundingMode()
      • getDefaultScale

        protected int getDefaultScale()
      • getDefaultCurrency

        public javax.money.CurrencyUnit getDefaultCurrency()
      • getExchangeMap

        public Map<javax.money.CurrencyUnit,​Map<javax.money.CurrencyUnit,​javax.money.convert.ExchangeRate>> getExchangeMap()
      • getBaseCurrencies

        public List<String> getBaseCurrencies()
      • isAllowMappingThroughBaseCurrency

        public boolean isAllowMappingThroughBaseCurrency()
      • setDefaultCurrency

        public void setDefaultCurrency​(javax.money.CurrencyUnit defaultCurrency)
      • setExchangeRateInfoProvider

        public void setExchangeRateInfoProvider​(ExchangeRateInfoProvider exchangeRateInfoProvider)
      • setExchangeMap

        public void setExchangeMap​(Map<javax.money.CurrencyUnit,​Map<javax.money.CurrencyUnit,​javax.money.convert.ExchangeRate>> exchangeMap)
      • setBaseCurrencies

        public void setBaseCurrencies​(List<String> baseCurrencies)
      • setAllowMappingThroughBaseCurrency

        public void setAllowMappingThroughBaseCurrency​(boolean allowMappingThroughBaseCurrency)
      • canEqual

        protected boolean canEqual​(Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object