<div dir="auto"><a href="https://github.com/rilindbicaj/fluentmapper">https://github.com/rilindbicaj/fluentmapper</a><div dir="auto"><br></div><div dir="auto">With I think the extraction being done here</div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/rilindbicaj/fluentmapper/blob/main/fluentmapper-provider/src/main/java/dev/bici/fluentmapper/provider/expression/classextractor/RegexExpressionClassExtractor.java">https://github.com/rilindbicaj/fluentmapper/blob/main/fluentmapper-provider/src/main/java/dev/bici/fluentmapper/provider/expression/classextractor/RegexExpressionClassExtractor.java</a></div><div dir="auto"><br></div><div dir="auto">Someone else would probably be able to speak better to how stable/advisable this approach is atm</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 9, 2024, 12:42 PM Ethan McCue <<a href="mailto:ethan@mccue.dev">ethan@mccue.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">No, what he said was slightly off topic, you are fine.<div dir="auto"><br></div><div dir="auto">For this specific want project Babylon and code reflection is (I think) the direction primarily being explored. That being said I think a degree of what you want is possible. I know someone who was writing their thesis on it, though it might take me a minute to find their code</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Dec 9, 2024, 12:40 PM Peter Eastham <<a href="mailto:petereastham@gmail.com" target="_blank" rel="noreferrer">petereastham@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey Archie,<br><br>Sorry if this was off topic for Amber, is there a better email list for this type of language improvement?<br><br>The JPA reference was only for a more common reference point. Not necessarily that I want that functionality in JPA itself.<br><br>Thanks,<br>-Peter<br><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 8, 2024 at 7:31 PM Archie Cobbs <<a href="mailto:archie.cobbs@gmail.com" rel="noreferrer noreferrer" target="_blank">archie.cobbs@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Peter,</div><div><br></div><div>Slightly off topic: You might be interested in the querystream library, which provides a Stream-like wrapper around JPA's Criteria API.</div><div><br></div><div style="margin-left:40px"><a href="https://github.com/querystream/querystream/" rel="noreferrer noreferrer" target="_blank">https://github.com/querystream/querystream/</a></div><div><br></div><div>Disclaimer: I'm the author.</div><br><div>-Archie<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 8, 2024 at 7:53 PM Peter Eastham <<a href="mailto:petereastham@gmail.com" rel="noreferrer noreferrer" target="_blank">petereastham@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Amber team,<br><br>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.<br><br>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)<br>CriteriaQuery q = cb.createQuery(Customer.class);
<br>Root customer = q.from(Customer.class);<br>Join order = customer.join(Customer_.orders, JoinType.LEFT);<br>q.where(cb.equal(customer.get(Customer_.status), 1)).select(customer);  <br><br>If there was greater access to the Method Reference more implicit information could be passed, reducing the noise,<br>CriteriaQuery q = CriteriaQuery.createQuery(Customer::new)<br>  .leftJoin(Customer::orders)<br>  .where(Object::equals, Customer::status, 1);<br>var result = q.select();<br><br>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.<br><br>Thanks,<br>-Peter</div>
</blockquote></div><div><br clear="all"></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>