Welcome! What is XDoclet?
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:
-
You don't have to worry about out dating deployment meta-data whenever
you touch the code. The deployment meta-data is continuously integrated.
-
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 consists of 7 or
more files. With XDoclet you only maintain one of them, and the rest is generated.
-
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.
Why use XDoclet? My favorite IDE can do this for me!
A lot of people (over 60.000 downloads (see activity statistics)
in 2002, 95.000 in 2003 and already more than 90.000 in 2004 (September)! An average of 7.000 page views each day!)
are already improving development time by using XDoclet for development of J2EE applications.
Here are some benefits you'll gain when using XDoclet:
-
Cut Redundant Work.
XDoclet helps you to eliminate redundant or "boiler plate" work.
Code your business logic and let XDoclet generate the necessary boiler
plate and support code for it.
-
J2EE Made Easy.
XDoclet's advanced code generation features makes it easier to code
J2EE applications. You write the enterprise bean implementation and XDoclet
generates interfaces, value objects, struts forms and much, much more for you.
XDoclet follows many widely recognized J2EE patterns.
-
Support for Leading Servers and Tools.
XDoclet comes bundled with modules for all the leading application servers:
JBoss, BEA WebLogic, IBM WebSphere, Oracle IAS, Orion, Borland, MacroMedia JRun,
Jonas, Pramati, Sybase EAServer and many more. Supported tools: Castor, Hibernate,
several JDO vendors, Struts, WebWork, MockObjects and many more.
-
Extensible.
XDoclet's modular design makes it easy
for you to write your own modules. Identify repeatable or boiler plate code
in your application and write XDoclet templates to generate them.
-
Open, Distributed Development.
XDoclet is developed by a group of experts around
the world and distributed under a
flexible BSD license. Avoid vendor lock-ins by using XDoclet. Also, the
distributed character of XDoclet development makes sure that it will satisfy the
needs of most users instead of a single vendor interest.
XDoclet 1.1.2 Documentation
The documentation of the old, outdated and unsupported 1.1.2 release is
available here.