/************************************************************************** /* Taglet for the bb.todo-Tag. Modified version of SUNs sample-taglet /* ToDoTaglet.java. /* /* Copyright of the original ToDoTaglet.java: /* * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * -Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * -Redistribution in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * Neither the name of Sun Microsystems, Inc. or the names of * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * This software is provided "AS IS," without a warranty of any * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY * DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT OF OR * RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR * ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE * FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, * SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF * THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. * * You acknowledge that Software is not designed, licensed or * intended for use in the design, construction, operation or * maintenance of any nuclear facility. /* Copyright (c) 2004 by Bernhard Bablok (mail@bablokb.de) /* /* This library is free software; you can redistribute it and/or modify /* it under the terms of the GNU Lesser General Public License as published /* by the Free Software Foundation; either version 2 of the License or /* (at your option) any later version. /* /* This library is distributed in the hope that it will be useful, but /* WITHOUT ANY WARRANTY; without even the implied warranty of /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /* GNU Lesser General Public License for more details. /* /* You should have received a copy of the GNU Lesser General Public License /* along with this library; see the file COPYING.LESSER. If not, write to /* the Free Software Foundation Inc., 59 Temple Place - Suite 330, /* Boston, MA 02111-1307 USA /**************************************************************************/ package de.bablokb.tools; import com.sun.tools.doclets.Taglet; import com.sun.javadoc.*; import java.util.Map; /** Taglet for the bb.todo-Tag. @version $Revision: 1.1 $ @author $Author: bablokb $ */ public class BBToDoTaglet implements Taglet { private static final String NAME = "bb.todo"; private static final String HEADER = "To Do:"; private static final String HTML_START = "
"; private static final String HTML_END = " |
BBToDoTaglet
* can be used in field documentation.
* @return true since this BBToDoTaglet
* can be used in field documentation and false
* otherwise.
*/
public boolean inField() {
return true;
}
////////////////////////////////////////////////////////////////////////////
/**
* Will return true since this BBToDoTaglet
* can be used in constructor documentation.
* @return true since this BBToDoTaglet
* can be used in constructor documentation and false
* otherwise.
*/
public boolean inConstructor() {
return true;
}
////////////////////////////////////////////////////////////////////////////
/**
* Will return true since this BBToDoTaglet
* can be used in method documentation.
* @return true since this BBToDoTaglet
* can be used in method documentation and false
* otherwise.
*/
public boolean inMethod() {
return true;
}
////////////////////////////////////////////////////////////////////////////
/**
* Will return true since this BBToDoTaglet
* can be used in method documentation.
* @return true since this BBToDoTaglet
* can be used in overview documentation and false
* otherwise.
*/
public boolean inOverview() {
return true;
}
////////////////////////////////////////////////////////////////////////////
/**
* Will return true since this BBToDoTaglet
* can be used in package documentation.
* @return true since this BBToDoTaglet
* can be used in package documentation and false
* otherwise.
*/
public boolean inPackage() {
return true;
}
////////////////////////////////////////////////////////////////////////////
/**
* Will return true since this BBToDoTaglet
* can be used in type documentation (classes or interfaces).
* @return true since this BBToDoTaglet
* can be used in type documentation and false
* otherwise.
*/
public boolean inType() {
return true;
}
////////////////////////////////////////////////////////////////////////////
/**
* Will return false since this BBToDoTaglet
* is not an inline tag.
* @return false since this BBToDoTaglet
* is not an inline tag.
*/
public boolean isInlineTag() {
return false;
}
////////////////////////////////////////////////////////////////////////////
/**
* Register this Taglet.
* @param tagletMap the map to register this tag to.
*/
public static void register(Map tagletMap) {
BBToDoTaglet tag = new BBToDoTaglet();
Taglet t = (Taglet) tagletMap.get(tag.getName());
if (t != null) {
tagletMap.remove(tag.getName());
}
tagletMap.put(tag.getName(), tag);
}
////////////////////////////////////////////////////////////////////////////
/**
* Given the Tag
representation of this custom
* tag, return its string representation.
* @param tag he Tag
representation of this custom tag.
*/
public String toString(Tag tag) {
return HTML_START + tag.text() + HTML_END;
}
////////////////////////////////////////////////////////////////////////////
/**
* Given an array of Tag
s representing this custom
* tag, return its string representation.
* @param tags the array of Tag
s representing of this custom tag.
*/
public String toString(Tag[] tags) {
if (tags.length == 0) {
return null;
}
StringBuffer result = new StringBuffer(HTML_START);
for (int i = 0; i < tags.length; i++) {
if (i > 0) {
result.append(", ");
}
result.append(tags[i].text());
}
result.append(HTML_END);
return result.toString();
}
}