Skip to main content

[JSR-354] Re: [JIRA] Created: (JAVAMONEY-66) Compatibility with new Stream-API of Java 8

  • From: Werner Keil <werner.keil@...>
  • To: "jcurrency_mail@..." <jcurrency_mail@...>, Meno Hochschild <mhochschild@...>
  • Subject: [JSR-354] Re: [JIRA] Created: (JAVAMONEY-66) Compatibility with new Stream-API of Java 8
  • Date: Mon, 25 Nov 2013 23:03:57 +0100

Dear All,

Even if you may be subscribed to the JIRA posts, allow me to briefly
confirm the changes based on especially Meno's input (thanks a lot)

As documented with the issue, the term MonetaryAdjuster or -Adjustment has
some special meanings in the financial domain, maybe the most significant
being tax deduction caused by *bad credits* or investments[?] We certainly
do not want to use terms in the API sounding like writing off bad credits
or offer a Spec mainly for "Bad Banks"[?]

Hence MonetaryAdjuster is being replaced by *MonetaryOperator*. For now the
signature of the apply() method matches the old version. The interface is
meant to extend
java.util.function.UnaryOperator<MonetaryAmount> in a future version of the
spec, thus the apply() method is meant to be fully compatible with this
future direction.

*MonetaryQuery *sounds unproblematic, there is no need to change it. As of
Java 9 it shall also be annotated @FunctionalInterface.

Due to a parallel use of MonetaryOperator and the JavaMoney *Calculation *in
the module by the same name, Calculation can't also extend MonetaryOperator
or be replaced with another sub-interface with an apply() method. Thus it
makes sense to keep Calculation, especially because a Java 8 port of
JavaMoney libraries may occur faster than a Java 9 integration of the JSR
itself.

Another functional interface is *MonetaryPredicate *in the JavaMoney Calc
module.  This is probably the one most easily replaceable by
java.util.function.Predicate. The method signature is prepared for this
possibility. Since JavaMoney is not part of the Spec, it may occur in a
Java 8 version, while under Java 7 it's a drop-in replacement for the Java
8 interface.

If you have any questions, please get in touch, those with a JIRA account
could comment on the ticket, too.

Kind Regards,
Werner


On Mon, Nov 25, 2013 at 8:46 PM, keilw (JIRA) <jira-no-reply@...>wrote:

>  Compatibility with new Stream-API of Java 8
> --------------------------------------------
>
>                  Key: JAVAMONEY-66
>                  URL: https://java.net/jira/browse/JAVAMONEY-66
>              Project: javamoney
>           Issue Type: Bug
>     Affects Versions: 0.7
>             Reporter: keilw
>             Assignee: keilw
>              Fix For: 0.8
>
>
> Based on Public Draft input we shall reconsider MonetaryFunction and/or
> MonetaryOperator instead of MonetaryAdjuster.
> The term Financial Adjustment has at least 3 special meanings, see:
> http://financial-dictionary.thefreedictionary.com/Adjustment
> Especially 1. is directly related to "Bad Banks", hence we clearly want to
> avoid such impression in the API;-)
>
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
> https://java.net/jira/secure/Administrators.jspa
> -
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>
>
>

Attachment: 329.gif
Description: GIF image

Attachment: 322.gif
Description: GIF image



[JSR-354] Re: [JIRA] Created: (JAVAMONEY-66) Compatibility with new Stream-API of Java 8

Werner Keil 11/25/2013

[JSR-354] Re: [JIRA] Created: (JAVAMONEY-66) Compatibility with new Stream-API of Java 8

Anatole Tresch 11/25/2013

[JSR-354] Re: [JIRA] Created: (JAVAMONEY-66) Compatibility with new Stream-API of Java 8

Meno Hochschild 11/26/2013
 
 
Close
loading
Please Confirm
Close