package org.oddjob.tools.taglet; import org.oddjob.tools.doclet.utils.InlineTagsProcessor; import com.sun.javadoc.ClassDoc; import com.sun.javadoc.Tag; import com.sun.tools.doclets.Taglet; /** * Base class for Taglet functionality for an Oddjob block tag. * * @author rob * */ abstract public class BaseBlockTaglet implements Taglet { @Override final public boolean inConstructor() { return false; } @Override final public boolean inOverview() { return false; } @Override final public boolean inPackage() { return false; } @Override final public boolean isInlineTag() { return false; } @Override public String toString(Tag tag) { String text = new InlineTagsProcessor().process(tag.inlineTags()); if (tag.holder() instanceof ClassDoc) { return "<h4>" + getTitle() + "</h4>" + text; } else { return "<p><b>" + getTitle() + "</b>: " + text; } } @Override public String toString(Tag[] tags) { StringBuilder builder = new StringBuilder(); for (Tag tag : tags) { builder.append(toString(tag)); } return builder.toString(); } /** * Used as the title of the Taglet. * * @return The title. Must not be null. */ abstract public String getTitle(); }