I should now say something witty about Kool-Aid here…
I’m in the process of reading the Trails tutorial by this guy (Trails’ creator) and I am very enthused about the idea: I’ve always felt that code-generation is being overly used in J2EE development. I believe, as do others, that if you can generate it, you should be able to handle it at runtime. (There are exceptions to this rule, of course.) Java has an exceptional reflection API, we should use it. Also, Spring allows much of the work to be done via AOP. But I’m rambling a little here.
The major exception to my dislike of code generation has always been page templates. These are just dumb pieces of text, so you either need to build them by hand or generate them. I’ve never really understood what Tapestry was about until I started reading about Trails and realized that it was allowing us to push object oriented design all the way into the template layer of our applications.
They features of Trails, like allowing us to override the presentation of a specific field without building a template for the entire form and lack of code generation, are really exciting and will provide some great ideas for my current side project.
Those familiar with Plone development will see some similarities here.