Main package of the Money and Currency API. In more detail:
  • JSR 354 defines a minimal set of interfaces for interoperability, since concrete usage scenarios do not allow to define an implementation that is capable of covering all aspects identified. Consequently it must be possible that implementations can provide several implementations for monetary amounts. Users should not reference the interfaces, instead the value types should be used.
  • Implementations must provide value types for currencies and amounts, implementing CurrencyUnit and MonetaryAmount.
  • Implementations must also provide a minimal set of roundings, modeled as MonetaryRounding. This should include basic roundings for ISO currencies, roundings defined by MathContext or RoundingMode.
  • This API must avoid restrictions that prevents its use in different runtime environments, such as EE or ME.
  • Method naming and style for currency modeling should be in alignment with parts of the Java Collection API or java.time / [JodaMoney].