4 comments

[ 3.9 ms ] story [ 25.0 ms ] thread
From one of the external links (http://www.jooq.org/), I like the idea of code generation, then importing them all with "*", so that you can use global fields as if they were keywords in the language.

It's an effective way to build DSLs in java.

Very nice and handy, but IDE refactoring support on this kind of code is probably very low.

From the example:

                .call("toString")      // Call toString()
If I refactor the toString method to another name, here it will remain toString.
This is a side effect of it being a reflection API, and true of the current APIs as well: clazz.getMethod( "toString" ).invoke();
Suggestion: Change the comparison example to a real-world use of reflection. The current example can be replaced with 3 lines of non-reflective code. The example doesn't make it clear why the library is useful.