/** * Creates a new instance with a custom chain of {@link ExchangeRateType}, e.g. or creating * <i>derived</i> rates. * * @param conversionType The conversion type, never {@code null}. * @param base the base {@link CurrencyUnit} * @param term the terminating {@link CurrencyUnit} * @param factor the conversion factor * @param chain the rate chain, never {@code null}, not empty. */ public ExchangeRate( ExchangeRateType conversionType, CurrencyUnit base, CurrencyUnit term, Number factor, String provider, ExchangeRate... chain) { this(conversionType, base, term, factor, provider); setExchangeRateChain(chain); }
/** * Creates a new instance with a custom chain of {@link ExchangeRateType}, e.g. or creating * <i>derived</i> rates. * * @param conversionType The conversion type, never {@code null}. * @param base the base {@link CurrencyUnit} * @param term the terminating {@link CurrencyUnit} * @param factor the conversion factor * @param chain the rate chain, never {@code null}, not empty. * @param validFrom the UTC timestamp from when this rate is valid from, or {@code null} * @param validUntil the UTC timestamp until when this rate is valid from, or {@code null} */ public ExchangeRate( ExchangeRateType conversionType, CurrencyUnit base, CurrencyUnit term, Number factor, String provider, Long validFrom, Long validUntil, ExchangeRate... chain) { this(conversionType, base, term, factor, provider); setExchangeRateChain(chain); this.validFrom = validFrom; this.validUntil = validUntil; }