Top Description Methods
javax.money

public Interface MonetaryOperator

Known Direct Subinterfaces
javax.money.MonetaryRounding, javax.money.convert.CurrencyConversion
Annotations
@FunctionalInterface

Represents an operation on a single MonetaryAmount that produces a result of type MonetaryAmount.

Examples might be an operator that rounds the amount to the nearest 1000, or one that performs currency conversion.

There are two equivalent ways of using a MonetaryOperator. The first is to invoke the method on this interface. The second is to use MonetaryAmount#with(MonetaryOperator):


// these two lines are equivalent, but the second approach is recommended
monetary = thisOperator.apply(monetary);
monetary = monetary.with(thisOperator);
It is recommended to use the second approach, with(MonetaryOperator), as it is a lot clearer to read in code.

Implementation specification

The implementation must take the input object and apply it. The implementation defines the logic of the operator and is responsible for documenting that logic. It may use any method on MonetaryAmount to determine the result.

The input object must not be altered. Instead, an altered copy of the original must be returned. This provides equivalent, safe behavior for immutable and mutable monetary amounts.

This method may be called from multiple threads in parallel. It must be thread-safe when invoked.

Authors
Werner Keil, Anatole Tresch
Version
1.0

Method Summary

Modifier and TypeMethod and Description
public MonetaryAmount

Returns:

the applied amount.
apply
(MonetaryAmount
the amount to be operated on.
amount
)

Applies the operator on the given amount.

Method Detail

applyback to summary
public MonetaryAmount apply(MonetaryAmount amount)

Applies the operator on the given amount.

Parameters
amount:MonetaryAmount

the amount to be operated on.

Returns:MonetaryAmount

the applied amount.