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

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

From: Marek Potociar <marek.potociar_at_oracle.com>
Date: Mon, 29 Oct 2012 12:06:42 +0100

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