From e2e7df9c910bf55e4f326687852b4353c064030d Mon Sep 17 00:00:00 2001 From: anatole Date: Sat, 7 May 2016 00:42:33 +0200 Subject: [PATCH] Fixed compatibility issues between bp and Java 8 API. --- .../org/javamoney/moneta/ExchangeRateType.java | 2 ++ src/main/java/org/javamoney/moneta/FastMoney.java | 2 +- .../java/org/javamoney/moneta/RoundedMoney.java | 2 +- .../moneta/ToStringMonetaryAmountFormat.java | 1 + .../function/MonetaryRoundedFactoryBuilder.java | 2 +- .../moneta/spi/AbstractAmountBuilder.java | 14 ++++++++++++++ .../moneta/spi/CompoundRateProvider.java | 4 +++- .../javamoney/moneta/spi/DefaultNumberValue.java | 15 +++++++++++++++ 8 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/javamoney/moneta/ExchangeRateType.java b/src/main/java/org/javamoney/moneta/ExchangeRateType.java index 9dbe3ee28..27ed7864d 100644 --- a/src/main/java/org/javamoney/moneta/ExchangeRateType.java +++ b/src/main/java/org/javamoney/moneta/ExchangeRateType.java @@ -69,6 +69,8 @@ public enum ExchangeRateType implements ExchangeRateProviderSupplier { "IDENT", "Exchange rate rate with factor one for identical base/term currencies"); + private static final long serialVersionUID = 7769702054407198263L; + private final String type; private final String description; diff --git a/src/main/java/org/javamoney/moneta/FastMoney.java b/src/main/java/org/javamoney/moneta/FastMoney.java index 2bb1ad576..df7b53497 100644 --- a/src/main/java/org/javamoney/moneta/FastMoney.java +++ b/src/main/java/org/javamoney/moneta/FastMoney.java @@ -560,7 +560,7 @@ public String toString() { * @throws NullPointerException If the number is null * @throws java.lang.ArithmeticException If the number exceeds the capabilities of this class. */ - private void checkNumber(Number number) { + protected void checkNumber(Number number) { Objects.requireNonNull(number, "Number is required."); // numeric check for overflow... if (number.longValue() > MAX_BD.longValue()) { diff --git a/src/main/java/org/javamoney/moneta/RoundedMoney.java b/src/main/java/org/javamoney/moneta/RoundedMoney.java index 561dfbf37..74941557a 100644 --- a/src/main/java/org/javamoney/moneta/RoundedMoney.java +++ b/src/main/java/org/javamoney/moneta/RoundedMoney.java @@ -48,7 +48,7 @@ public final class RoundedMoney implements MonetaryAmount, Comparable setAmount(MonetaryAmount smount) { return this; } + /** + * Creates a {@link BigDecimal} from the given {@link Number} doing the valid conversion + * depending the type given. + * + * @param num the number type + * @return the corresponding {@link BigDecimal} + * @Deprecated will be removed in next release + */ + @Deprecated + protected static BigDecimal getBigDecimal(Number num) { + return ConvertBigDecimal.of(num); + } + + } diff --git a/src/main/java/org/javamoney/moneta/spi/CompoundRateProvider.java b/src/main/java/org/javamoney/moneta/spi/CompoundRateProvider.java index cc3506e0a..146c163bf 100644 --- a/src/main/java/org/javamoney/moneta/spi/CompoundRateProvider.java +++ b/src/main/java/org/javamoney/moneta/spi/CompoundRateProvider.java @@ -41,8 +41,10 @@ public class CompoundRateProvider extends AbstractRateProvider { /** * Key used to store a list of child {@link javax.money.convert.ProviderContext} instances of the providers * contained within this instance. + * @deprecated Will be private in next major release. */ - private static final String CHILD_PROVIDER_CONTEXTS_KEY = "childProviderContexts"; + @Deprecated + public static final String CHILD_PROVIDER_CONTEXTS_KEY = "childProviderContexts"; /** * The {@link ExchangeRateProvider} instances. */ diff --git a/src/main/java/org/javamoney/moneta/spi/DefaultNumberValue.java b/src/main/java/org/javamoney/moneta/spi/DefaultNumberValue.java index 74d509aac..1d17dd1e8 100644 --- a/src/main/java/org/javamoney/moneta/spi/DefaultNumberValue.java +++ b/src/main/java/org/javamoney/moneta/spi/DefaultNumberValue.java @@ -207,6 +207,21 @@ public T numberValueExact(Class numberType) { return ConvertNumberValue.ofExact(numberType, number); } + /** + * Creates a {@link BigDecimal} from the given {@link Number} doing the valid conversion + * depending the type given. + * + * @param num + * the number type + * @return the corresponding {@link BigDecimal} + * @deprecated will be removed. + */ + @Deprecated + protected static BigDecimal getBigDecimal(Number num) { + return ConvertBigDecimal.of(num); + } + + /* * (non-Javadoc) * @see java.lang.Object#toString()