|The idea is just to design our APIs with lambdas in mind. IOW, we will not require Java SE 8, but will try to make sure we do not need to redesign our APIs to enable lambdas in future.|
On Oct 29, 2012, at 8:06 PM, Markus KARG <markus@...
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. How can this gap be bridged? From: Marek Potociar [mailto:email@example.com]
Sent: Montag, 29. Oktober 2012 12:07
Subject: [jsr339-experts] A proposal to make the JAX-RS API "lambda ready".
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:
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.