This utility class contains thread-safe static methods.
-
Method Summary
Modifier and TypeMethodDescriptionstatic BigMoney
Adds twoBigMoney
objects, handling null.static Money
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
Finds the maximumBigMoney
value, handing null.static Money
Finds the maximumMoney
value, handing null.static BigMoney
Finds the minimumBigMoney
value, handing null.static Money
Finds the minimumMoney
value, handing null.static BigMoney
Subtracts the secondBigMoney
from the first, handling null.static Money
Subtracts the secondMoney
from the first, handling null.
-
Method Details
-
isZero
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
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
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
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
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
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
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
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
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
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
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
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
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
-