Class MonetaryAmountRoundingHelper

java.lang.Object
com.broadleafcommerce.paymenttransaction.service.utils.MonetaryAmountRoundingHelper

public class MonetaryAmountRoundingHelper extends Object
Helper class to calculate rounding of monetary unit amounts.
Author:
Marie Standeven (marieStandeven)
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected javax.money.MonetaryAmount
    getUnitAmount(javax.money.CurrencyUnit currency)
    Determines the smallest unit amount of money for the CurrencyUnit.
    Map<String,javax.money.MonetaryAmount>
    roundListOfMonetaryAmounts(Map<String,javax.money.MonetaryAmount> amounts, javax.money.MonetaryAmount totalAmount)
    Given a list of amounts that should round to the provided total, calculates and performs the rounding logic to add the remainder unit amounts.
    protected Map<String,javax.money.MonetaryAmount>
    roundListOfMonetaryAmounts(Map<String,javax.money.MonetaryAmount> amounts, javax.money.MonetaryAmount totalAmount, javax.money.MonetaryAmount unitAmount)
    Given a list of amounts that should round to the provided total, calculates and performs the rounding logic to add the remainder unit amounts.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MonetaryAmountRoundingHelper

      public MonetaryAmountRoundingHelper()
  • Method Details

    • roundListOfMonetaryAmounts

      public Map<String,javax.money.MonetaryAmount> roundListOfMonetaryAmounts(Map<String,javax.money.MonetaryAmount> amounts, javax.money.MonetaryAmount totalAmount)
      Given a list of amounts that should round to the provided total, calculates and performs the rounding logic to add the remainder unit amounts.
      Parameters:
      amounts - list of amounts to round, mapped to a key for lookup on return
      totalAmount - the total adjustment amount
    • roundListOfMonetaryAmounts

      protected Map<String,javax.money.MonetaryAmount> roundListOfMonetaryAmounts(Map<String,javax.money.MonetaryAmount> amounts, javax.money.MonetaryAmount totalAmount, javax.money.MonetaryAmount unitAmount)
      Given a list of amounts that should round to the provided total, calculates and performs the rounding logic to add the remainder unit amounts.
      Parameters:
      amounts - list of amounts to round, mapped to a key for lookup on return
      totalAmount - the total adjustment amount
      unitAmount - the smallest unit amount of money for the currency
    • getUnitAmount

      protected javax.money.MonetaryAmount getUnitAmount(javax.money.CurrencyUnit currency)
      Determines the smallest unit amount of money for the CurrencyUnit.

      For example, a currency with 2 fraction digits (like USD) will provide the amount "0.01".

      Parameters:
      currency - the currency to get the smallest unit amount for
      Returns:
      the smallest unit amount of money for the currency