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
:
Create a new Java source file called
JUnitPerfTagHandler.java
and add it to your project.Add the following imports:
import xdoclet.XDocletException; import xdoclet.XDocletTagSupport; import xdoclet.tagshandler.TypeTagsHandler; import java.text.MessageFormat;
Extend the
XDocletTagSupport
class:public class JUnitPerfTagHandler extends XDocletTagSupport {
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.