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.javaand 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
XDocletTagSupportclass: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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access