Improving Method Reference Ergonomics

Remi Forax forax at univ-mlv.fr
Mon Dec 9 15:35:23 UTC 2024


Hello 
are you aware of Jakarta data API ? 
[ https://github.com/jakartaee/data | https://github.com/jakartaee/data ] 

Which is quite similar to Spring Data and provide a typesafe API, 
here is a presentation by Gavin King 
https://www.youtube.com/watch?v=X9GplCb5SWY 

For me the static meta-model does exactly what you want. 

regards, 
Rémi 

> From: "Peter Eastham" <petereastham at gmail.com>
> To: "amber-dev" <amber-dev at openjdk.org>
> Sent: Monday, December 9, 2024 2:52:32 AM
> Subject: Improving Method Reference Ergonomics

> Hi Amber team,

> Earlier this week I was playing around with fluent API design, and I believe
> Java could benefit from some improvements to the usage of Method References,
> I'll keep this short with the following example.

> Lets take the following JPA Criteria from section 6.3.3 of the Specification,
> (Only for an example of what an API could begin doing, not should do)
> CriteriaQuery q = cb.createQuery(Customer.class);
> Root customer = q.from(Customer.class);
> Join order = customer.join(Customer_.orders, JoinType.LEFT);
> q.where(cb.equal(customer.get(Customer_.status), 1)).select(customer);

> If there was greater access to the Method Reference more implicit information
> could be passed, reducing the noise,
> CriteriaQuery q = CriteriaQuery.createQuery(Customer::new)
> .leftJoin(Customer::orders)
> .where(Object::equals, Customer::status, 1);
> var result = q.select();

> Regarding what should be available, the resolved Class and Method name at least,
> anything else I'd leave up to the feasibility of the change.

> Thanks,
> -Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/amber-dev/attachments/20241209/b6f04ea6/attachment-0001.htm>


More information about the amber-dev mailing list