Creating an XDoclet Tag Handler

Problem

You want to create a new XDoclet Tag Handler.

Solution

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

Discussion

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 JUnitPerfTagHandler.java 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

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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.