jsr339-experts@jax-rs-spec.java.net

[jsr339-experts] Re: A proposal to make the JAX-RS API "lambda ready".

From: Marek Potociar <marek.potociar_at_oracle.com>
Date: Tue, 30 Oct 2012 14:25:14 +0100

On Oct 30, 2012, at 11:23 AM, Sergey Beryozkin <sberyozkin_at_talend.com> wrote:

> On 29/10/12 19:06, Markus KARG wrote:
>> I think it is a very good idea to support lambda expressions, as it
>> makes the readability of anonymous callbacks much simple to read (and
>> write). On the other hand, AFAIK lambdas will enforce JRE 8, while our
>> API must be able to run on JRE 7.
>
> Actually, it runs on JRE6.

Yes (because you insisted) :) Btw. do you still insist? Note that Java EE 7 requires Java SE 7. (Sorry for side-tracking the discussion here - just thought it's good time to check again...)

Marek

>
>> How can this gap be bridged?
>
> It is about making it ready, it does not have to bridged now
>
> Sergey
>
>>
>> *From:*Marek Potociar [mailto:marek.potociar_at_oracle.com]
>> *Sent:* Montag, 29. Oktober 2012 12:07
>> *To:* jsr339-experts_at_jax-rs-spec.java.net
>> *Subject:* [jsr339-experts] A proposal to make the JAX-RS API "lambda
>> ready".
>>
>> Hello experts,
>>
>> A month ago at JavaOne, making APIs ready for closure support that is
>> coming in Java SE 8, was one of the hot topics. The main idea behind
>> making an API ready for "lambdas" (or closures), is to expose
>> single-method interfaces whenever one expects a future use of lambdas.
>> In JAX-RS 2.0, such places include definition of async response
>> callbacks as well as client-side invocation callback.
>>
>> With that I took a stab on it and tried to come up with a proposal that
>> would make our new APIs more lambda-ready. Please review the proposal here:
>>
>> https://github.com/mpotociar/jax-rs/compare/lambda
>>
>> In summary, I have updated the client.InvocationCallback to have only a
>> single method and since I anticipate that many users would still prefer
>> the old 2-method style, I'm adding an AbstractInvocationCallback
>> convenience class. On the side of async response container callbacks,
>> I've similarly updated the CompletionCallback and ResumeCallback APIs to
>> adopt a single-method pattern. In my last commit I've also decided
>> (based on numerous Sergey's requests) to propose removal of
>> ResumeCallback (for now).
>>
>> I'm looking forward to your review comments.
>>
>> Marek
>>
>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com