Method references in annotations?

Ben Evans benjamin.john.evans at gmail.com
Sun Aug 14 14:06:03 PDT 2011


I don't see why method references are "only tangentially related" to the
scope of Project Lambda.

Methods which expect a lambda must be able to accept either an anonymous
function or a named method.

Surely, no-one is suggesting otherwise?

Given that, the mechanism for named methods we have is presumably to pass a
MethodHandle which contains a reference to the named method. This is
incredibly cumbersome and exactly the kind of overly verbose, boilerplate-y
code that we should be able to do better than.

I'm really failing to see why method references are not a consideration
here.

Also - can we please have a link to public archives for the EG?

Thanks,

Ben

On Sat, Aug 13, 2011 at 11:59 AM, Neal Gafter <neal at gafter.com> wrote:

> It's is a bit of a stretch to call it an "omission" that project lambda
> hasn't specified language constructs only tangentially related to it's
> scope.
>
>
> On Saturday, August 13, 2011, Ben Evans <benjamin.john.evans at gmail.com>
> wrote:
> > On Thu, Aug 11, 2011 at 12:14 AM, Stephen Colebourne
> > <scolebourne at joda.org>wrote:
> >
> >> On 10 August 2011 20:24, Dan Smith <daniel.smith at oracle.com> wrote:
> >> > Discussions along the lines of "yeah, those are things we should get
> to
> >> sometime" have happened here, internally at Oracle, and in the JSR 335
> >> expert group.
> >>
> >> I will just note that I've raised this before. Frameworks in
> >> particular constantly have to wrestle with how to handle the lack of
> >> method references, generally using strings. Adding method references
> >> to the main body of code helps those framework writers a bit, but not
> >> being usable in annotations is a major limitation and a huge missed
> >> opportunity.
> >>
> >
> > Nor is this situation static.
> >
> > E.g. both JSR 349 (Bean Validation) and JSR 350 (effectively, Container
> > Managed State) have glaringly obvious places where a method reference in
> an
> > annotation would be very useful.
> >
> > Have the reasons for this omission been discussed in detail on the JSR
> 335
> > EG? Is there a public Observers alias for that EG?
> >
> > Thanks,
> >
> > Ben
> >
> >
>


More information about the lambda-dev mailing list