The XDoclet is an open source code generation engine. It enables Attribute-Oriented Programming for java. In short, this means that you can add more significance to your code by adding Meta data (attributes) to your java sources. This is done in special JavaDoc tags. XDoclet will parse your source files and generate many artifacts such as XML descriptors and/or source code from it. These files are generated from templates that use the information provided in the source code and its JavaDoc tags. 
XDoclet lets you apply Continuous Integration in component-oriented development. Developers should concentrate their editing work on only one Java source file per component. 
 This approach has several benefits:

1. You don’t have to worry about out dating deployment meta-data whenever you touch the code. The deployment meta-data is continuously integrated. 
2. Working with only one file per component gives you a better overview of what you’re doing. If your component consists of several files, it’s easy to lose track. If you have ever written an Enterprise Java Bean, you know what we mean. A single EJB can typically consist of 7 or more files. With XDoclet you only maintain one of them, and the rest is generated. 
3. You dramatically reduce development time, and can concentrate on business logic, while XDoclet generates 85% of the code for you. 

Currently XDoclet can only be used as part of the build process utilizing Jakarta Ant.

Although XDoclet originated as a tool for creating EJBs, it has evolved into a general-purpose code generation engine. XDoclet consists of a core and a constantly growing number of modules. It is fairly straightforward to write new modules if there is a need for a new kind of component. 
XDoclet comes with a set of modules for generation of different kinds of files. Users and contributors can write their own modules (or modify existing ones) if they wish to extend the functionality of XDoclet.

READ  Geronimo

XDoclet is a code generator that uses Javadoc-like tags to get the requisite information and generate the appropriate files. It can be especially useful if you’re annoyed by the multiple file maintenance requirements of EJBs

The Home Interface, Local Interface, Remote Interface, the deployment descriptors, and descriptors specific to various application servers are some of the files that you have to create to get even a basic EJB working. With XDoclet, all you have to do is write the core bean class and use the XDoclet tags to write Javadoc-like comments for the class and each method. Based on the tags you’ve used, XDoclet can quickly generate the various files. XDoclet tags are written in the normal Javadoc comment style and can coexist with your existing Javadoc comments.

XDoclet is triggered from Ant tasks so it would involve only a few changes to your Ant build script to have XDoclet generate code for you. Once this code is generated, the script can proceed to routine Ant tasks. The XDoclet homepage lists everything that will make selling the XDoclet idea to your boss a lot easier. XDoclet already provides tags for a variety of popular tools, and although XDoclet’s ability to simplify EJBs is what attracted me to it, it certainly is capable of a lot more.