/** * Sets the exchange rate type * * @param rateType the {@link javax.money.convert.RateType} contained */ public Builder(String provider, RateType rateType) { this(ConversionContext.of(provider, rateType)); }
/** * Sets the exchange rate type * * @param rateType the {@link javax.money.convert.RateType} contained */ public ExchangeRateBuilder(String provider, RateType rateType) { this(ConversionContext.of(provider, rateType)); }
protected ConversionContext getExchangeContext(String key) { int scale = getScale(key); if(scale < 0) { return ConversionContext.of(this.context.getProviderName(), RateType.HISTORIC); } else { return ConversionContext.of(this.context.getProviderName(), RateType.HISTORIC).toBuilder().set(KEY_SCALE, scale).build(); } }
@Override public CurrencyConversion getCurrencyConversion(ConversionQuery conversionQuery) { return new LazyBoundCurrencyConversion(conversionQuery, this, ConversionContext .of(getContext().getProviderName(), getContext().getRateTypes().iterator().next())); }
@Override public CurrencyConversion getCurrencyConversion(ConversionQuery conversionQuery) { if (getContext().getRateTypes().size() == 1) { return new LazyBoundCurrencyConversion(conversionQuery, this, ConversionContext .of(getContext().getProviderName(), getContext().getRateTypes().iterator().next())); } return new LazyBoundCurrencyConversion(conversionQuery, this, ConversionContext.of(getContext().getProviderName(), RateType.ANY)); }