Creating an XDoclet Tag Handler


You want to create a new XDoclet Tag Handler.


Extend the xdoclet.XDocletTagSupport class; write public methods that perform logic and generate content. The methods are referenced in an XDoclet template file (.xdt).


The previous recipe created a custom Ant XDoclet subtask, providing an entry point into our custom code generator. Now it is time to write the tag handler class, which is responsible for generating snippets of content and performing simple logic.

There are no methods that must be overridden or directly implemented when creating a custom tag handler. Rather, you create public methods that a template file references.

Let’s see how to write the tag handler class JUnitPerfTagHandler :

  1. Create a new Java source file called and add it to your project.

  2. Add the following imports:

    import xdoclet.XDocletException;
    import xdoclet.XDocletTagSupport;
    import xdoclet.tagshandler.TypeTagsHandler;
    import java.text.MessageFormat;
  3. Extend the XDocletTagSupport class:

    public class JUnitPerfTagHandler extends XDocletTagSupport {
  4. Add public methods to generate snippets of content and to perform logic.

Step three deserves further explanation. There are two categories of methods used in a tag handler class: block and content.


Block methods are used for iterating and performing logic, which is synonymous with for loops and if statements. A block method accepts a single parameter containing any content that should be parsed ...

Get Java Extreme Programming Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.