Interface Money

All Known Subinterfaces:
CentPrecisionMoney, TypedMoney

public interface Money

Draft object to store money in cent amounts for a specific currency.


Example to create an instance using the builder pattern

     Money money = Money.builder()
             .centAmount(0.3)
             .currencyCode("{currencyCode}")
             .build()
 
  • Method Details

    • getCentAmount

      @NotNull @NotNull Long getCentAmount()

      Amount in the smallest indivisible unit of a currency, such as:

      • Cents for EUR and USD, pence for GBP, or centime for CHF (5 CHF is specified as 500).
      • The value in the major unit for currencies without minor units, like JPY (5 JPY is specified as 5).
      Returns:
      centAmount
    • getCurrencyCode

      @NotNull @NotNull String getCurrencyCode()

      Currency code compliant to ISO 4217.

      Returns:
      currencyCode
    • setCentAmount

      void setCentAmount(Long centAmount)

      Amount in the smallest indivisible unit of a currency, such as:

      • Cents for EUR and USD, pence for GBP, or centime for CHF (5 CHF is specified as 500).
      • The value in the major unit for currencies without minor units, like JPY (5 JPY is specified as 5).
      Parameters:
      centAmount - value to be set
    • setCurrencyCode

      void setCurrencyCode(String currencyCode)

      Currency code compliant to ISO 4217.

      Parameters:
      currencyCode - value to be set
    • of

      static Money of()
      factory method
      Returns:
      instance of Money
    • of

      static Money of(Money template)
      factory method to create a shallow copy Money
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • copyDeep

      Money copyDeep()
    • deepCopy

      @Nullable static Money deepCopy(@Nullable Money template)
      factory method to create a deep copy of Money
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static MoneyBuilder builder()
      builder factory method for Money
      Returns:
      builder
    • builder

      static MoneyBuilder builder(Money template)
      create builder for Money instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withMoney

      default <T> T withMoney(Function<Money,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<Money> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference