/** * Sets the term currency. * * @param currencyCode the currency code, resolvable through {@link javax.money * .MonetaryCurrencies#getCurrency(String, String...)}, not null. * @return the query for chaining. */ public ConversionQueryBuilder setTermCurrency(String currencyCode) { return setTermCurrency(Monetary.getCurrency(currencyCode)); }
/** * Access a {@link CurrencyConversion} that can be applied as a * {@link MonetaryOperator} to an amount. * * @param term term {@link CurrencyUnit}, not {@code null} * @return a new instance of a corresponding {@link CurrencyConversion}, * never {@code null}. */ default CurrencyConversion getCurrencyConversion(CurrencyUnit term){ return getCurrencyConversion(ConversionQueryBuilder.of().setTermCurrency(term).build()); }
@Override public boolean isAvailable(CurrencyUnit base, CurrencyUnit term) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(base).setTermCurrency(term).build()); }
/** * Checks if an {@link ExchangeRate} between two {@link CurrencyUnit} is * available from this provider. This method should check, if a given rate * is <i>currently</i> defined. * * @param base the base {@link CurrencyUnit} * @param term the term {@link CurrencyUnit} * @return {@code true}, if such an {@link ExchangeRate} is currently * defined. */ default boolean isAvailable(CurrencyUnit base, CurrencyUnit term){ return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(base).setTermCurrency(term).build()); }
@Override public boolean isAvailable(CurrencyUnit base, CurrencyUnit term) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(base).setTermCurrency(term).build()); }
@Override public boolean isAvailable(CurrencyUnit base, CurrencyUnit term) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(base).setTermCurrency(term).build()); }
@Override public boolean isAvailable(CurrencyUnit base, CurrencyUnit term) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(base).setTermCurrency(term).build()); }
/** * Access the default provider chain. Compare with entries from javamoney.properties. The chain must not be empty! */ @Test(description = "4.3.1 Access and test the default conversion provider chain, by accessing a default" + "CurrencyConversion for ConversionQuery.") @SpecAssertion(id = "431-A4", section = "4.3.1") public void testDefaultProviderChainIsDefinedDefaultWithContext() { ConversionQuery query = ConversionQueryBuilder.of().setTermCurrency(Monetary.getCurrency("CHF")).build(); CurrencyConversion conv = MonetaryConversions.getConversion(query); AssertJUnit.assertNotNull("No default CurrencyConversion returned.", conv); // we cannot test more here... }
@Override public boolean isAvailable(String baseCode, String termCode) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public ExchangeRate getExchangeRate(String baseCode, String termCode) { return getExchangeRate(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public ExchangeRate getExchangeRate(String baseCode, String termCode) { return getExchangeRate(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public boolean isAvailable(String baseCode, String termCode) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public boolean isAvailable(String baseCode, String termCode) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public ExchangeRate getExchangeRate(String baseCode, String termCode) { return getExchangeRate(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public ExchangeRate getExchangeRate(String baseCode, String termCode) { return getExchangeRate(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public boolean isAvailable(String baseCode, String termCode) { return isAvailable(ConversionQueryBuilder.of().setBaseCurrency(Monetary.getCurrency(baseCode)) .setTermCurrency(Monetary.getCurrency(termCode)).build()); }
@Override public ExchangeRate getReversed(ExchangeRate rate) { ConversionQuery reverseQuery = rate.getContext().toQueryBuilder().setBaseCurrency(rate.getCurrency()) .setTermCurrency(rate.getBaseCurrency()).build(); if(isAvailable(reverseQuery)){ return getExchangeRate(reverseQuery); } return null; }
@Override public ExchangeRate getReversed(ExchangeRate rate) { ConversionQuery reverseQuery = rate.getContext().toQueryBuilder().setBaseCurrency(rate.getCurrency()) .setTermCurrency(rate.getBaseCurrency()).build(); if(isAvailable(reverseQuery)){ return getExchangeRate(reverseQuery); } return null; }
@Override public ExchangeRate getReversed(ExchangeRate rate) { ConversionQuery reverseQuery = rate.getContext().toQueryBuilder().setBaseCurrency(rate.getCurrency()) .setTermCurrency(rate.getBaseCurrency()).build(); if(isAvailable(reverseQuery)){ return getExchangeRate(reverseQuery); } return null; }
@Override public ExchangeRate getReversed(ExchangeRate rate) { ConversionQuery reverseQuery = rate.getContext().toQueryBuilder().setBaseCurrency(rate.getCurrency()) .setTermCurrency(rate.getBaseCurrency()).build(); if(isAvailable(reverseQuery)){ return getExchangeRate(reverseQuery); } return null; }