ThinkUI Logo
Bending Time and Space for the Lazy Developer. ThinkUI SQL Client About Us | Download | Register | Links | Services | Contact Us

Code Generation

The ThinkUI SQL Client provides a tool for making the meta data in a database readily available for use in code generators. The meta data is captured into a Data Class Java object which is passed into the Velocity template engine. The meta data can also be imported into a set of tables in an embedded Derby database. The data in the tables can be enhanced with additional meta data and which can be used in the code generator. By storing the meta data in a database, it opens access for external tools (via JDBC). This ensures that your valuable meta data remains accessible to you and not hidden in any proprietary repository or unknown format.

Powered by Velocity

Partial Class Generator

Currently, the ThinkUI software implements a Partial Class Generator for most of the supported artifacts. The amount of customization in the generated code can be minimized by making use of an abstract base class to handle the standard cases. It is even possible to build a collection of artifacts that can work together to implement a complete application tier.

External Resources

Code generation is a useful technique with many benefits. The following resources helps provide a more indepth discussion of the benefits of employing code generation techniques in your projects.

Title Source Author
Are You Missing Out on Code Generation? (Article) www.devx.com Jack Herrington
Anything You Can Do, I Can Do Meta (Article) www.technologyreview.com Scott Rosenberg
Code-Generation Techniques for Java (Article) www.onjava.com Jack Herrington
Code Generation in Action by Jack Herrington (Book Review & Discussion) books.slashdot.org Simon P. Chappell/Forum
Template-Based Code Generation with Apache Velocity, Part 1 (Article) www.onjava.com Giuseppe Naccarato
Template-Based Code Generation with Apache Velocity, Part 2 (Article) www.onjava.com Giuseppe Naccarato
Does Code Generation matter to Java developers? (Article) www.theserverside.com Norman Richards
Code Generation Network (Website) www.codegeneration.net Website
Software Factories (Website) www.softwarefactories.com Website
Software Product Lines (Website) www.softwareproductlines.com Website
Intentional Software (Website) www.intentsoft.com Website

File: codegen.bhtml Last Modified: August 9, 2008