- java.lang.Object
-
- org.joda.money.MoneyUtils
-
public final class MoneyUtils extends Object
Utilities for working with monetary values that handle null.This utility class contains thread-safe static methods.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static BigMoney
add(BigMoney money1, BigMoney money2)
Adds twoBigMoney
objects, handling null.static Money
add(Money money1, Money money2)
Adds twoMoney
objects, handling null.static boolean
isNegative(BigMoneyProvider moneyProvider)
Checks if the monetary value is negative and non-zero, treating null as zero.static boolean
isNegativeOrZero(BigMoneyProvider moneyProvider)
Checks if the monetary value is negative or zero, treating null as zero.static boolean
isPositive(BigMoneyProvider moneyProvider)
Checks if the monetary value is positive and non-zero, treating null as zero.static boolean
isPositiveOrZero(BigMoneyProvider moneyProvider)
Checks if the monetary value is positive or zero, treating null as zero.static boolean
isZero(BigMoneyProvider moneyProvider)
Checks if the monetary value is zero, treating null as zero.static BigMoney
max(BigMoney money1, BigMoney money2)
Finds the maximumBigMoney
value, handing null.static Money
max(Money money1, Money money2)
Finds the maximumMoney
value, handing null.static BigMoney
min(BigMoney money1, BigMoney money2)
Finds the minimumBigMoney
value, handing null.static Money
min(Money money1, Money money2)
Finds the minimumMoney
value, handing null.static BigMoney
subtract(BigMoney money1, BigMoney money2)
Subtracts the secondBigMoney
from the first, handling null.static Money
subtract(Money money1, Money money2)
Subtracts the secondMoney
from the first, handling null.
-
-
-
Method Detail
-
isZero
public static boolean isZero(BigMoneyProvider moneyProvider)
Checks if the monetary value is zero, treating null as zero.This method accepts any implementation of
BigMoneyProvider
.- Parameters:
moneyProvider
- the money to check, null returns zero- Returns:
- true if the money is null or zero
-
isPositive
public static boolean isPositive(BigMoneyProvider moneyProvider)
Checks if the monetary value is positive and non-zero, treating null as zero.This method accepts any implementation of
BigMoneyProvider
.- Parameters:
moneyProvider
- the money to check, null returns false- Returns:
- true if the money is non-null and positive
-
isPositiveOrZero
public static boolean isPositiveOrZero(BigMoneyProvider moneyProvider)
Checks if the monetary value is positive or zero, treating null as zero.This method accepts any implementation of
BigMoneyProvider
.- Parameters:
moneyProvider
- the money to check, null returns true- Returns:
- true if the money is null, zero or positive
-
isNegative
public static boolean isNegative(BigMoneyProvider moneyProvider)
Checks if the monetary value is negative and non-zero, treating null as zero.This method accepts any implementation of
BigMoneyProvider
.- Parameters:
moneyProvider
- the money to check, null returns false- Returns:
- true if the money is non-null and negative
-
isNegativeOrZero
public static boolean isNegativeOrZero(BigMoneyProvider moneyProvider)
Checks if the monetary value is negative or zero, treating null as zero.This method accepts any implementation of
BigMoneyProvider
.- Parameters:
moneyProvider
- the money to check, null returns true- Returns:
- true if the money is null, zero or negative
-
max
public static Money max(Money money1, Money money2)
Finds the maximumMoney
value, handing null.This returns the greater of money1 or money2 where null is ignored. If both input values are null, then null is returned.
- Parameters:
money1
- the first money instance, null returns money2money2
- the first money instance, null returns money1- Returns:
- the maximum value, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
min
public static Money min(Money money1, Money money2)
Finds the minimumMoney
value, handing null.This returns the greater of money1 or money2 where null is ignored. If both input values are null, then null is returned.
- Parameters:
money1
- the first money instance, null returns money2money2
- the first money instance, null returns money1- Returns:
- the minimum value, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
add
public static Money add(Money money1, Money money2)
Adds twoMoney
objects, handling null.This returns
money1 + money2
where null is ignored. If both input values are null, then null is returned.- Parameters:
money1
- the first money instance, null returns money2money2
- the first money instance, null returns money1- Returns:
- the total, where null is ignored, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
subtract
public static Money subtract(Money money1, Money money2)
Subtracts the secondMoney
from the first, handling null.This returns
money1 - money2
where null is ignored. If both input values are null, then null is returned.- Parameters:
money1
- the first money instance, null treated as zeromoney2
- the first money instance, null returns money1- Returns:
- the total, where null is ignored, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
max
public static BigMoney max(BigMoney money1, BigMoney money2)
Finds the maximumBigMoney
value, handing null.This returns the greater of money1 or money2 where null is ignored. If both input values are null, then null is returned.
- Parameters:
money1
- the first money instance, null returns money2money2
- the first money instance, null returns money1- Returns:
- the maximum value, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
min
public static BigMoney min(BigMoney money1, BigMoney money2)
Finds the minimumBigMoney
value, handing null.This returns the greater of money1 or money2 where null is ignored. If both input values are null, then null is returned.
- Parameters:
money1
- the first money instance, null returns money2money2
- the first money instance, null returns money1- Returns:
- the minimum value, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
add
public static BigMoney add(BigMoney money1, BigMoney money2)
Adds twoBigMoney
objects, handling null.This returns
money1 + money2
where null is ignored. If both input values are null, then null is returned.- Parameters:
money1
- the first money instance, null returns money2money2
- the first money instance, null returns money1- Returns:
- the total, where null is ignored, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
subtract
public static BigMoney subtract(BigMoney money1, BigMoney money2)
Subtracts the secondBigMoney
from the first, handling null.This returns
money1 - money2
where null is ignored. If both input values are null, then null is returned.- Parameters:
money1
- the first money instance, null treated as zeromoney2
- the first money instance, null returns money1- Returns:
- the total, where null is ignored, null if both inputs are null
- Throws:
CurrencyMismatchException
- if the currencies differ
-
-