2009-05-19

lambdaj

lambdaj uses CGLIB proxy generation and Hamcrest conditional expressions to implement a DSL that allows you to write pseudo-functional collection iterations in Java.  Like this:

forEach(personInFamily).setLastName("Fusco");

Or this:

List sortedByAgePersons = sort(persons, on(Person.class).getAge());

Slick, although all its tricks are done at runtime using proxies and reflection.