/*
* $Id$
*
* Copyright 2006, The jCoderZ.org Project. All rights reserved.
*
* 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.
* * Redistributions 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 the jCoderZ.org Project nor the names of
* its contributors may be used to endorse or promote products
* derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.jcoderz.phoenix.javadoc;
import java.util.Map;
import com.sun.javadoc.Tag;
import com.sun.tools.doclets.Taglet;
/**
* @author Michael Rumpf
*/
public class JcoderzTaglet
implements Taglet
{
private static final String[] TAGS = new String[]
{"ejb.interface-method",
"ejb.create-method",
"ejb.data-object",
"ejb.ejb-ref",
"ejb.ejb-external-ref",
"ejb.bean",
"ejb.create-method",
"ejb.data-object",
"ejb.ejb-ref",
"ejb.finder",
"ejb.interface",
"ejb.interface-method",
"ejb.permission",
"ejb.persistent-field",
"ejb.pk",
"ejb.pk-field",
"ejb.transaction",
"ejb.persistent-field",
"ejb.security-role-ref",
"ejb.security-roles",
"ejb.dao",
"ejb.resource-ref",
"ejb.persistence",
"jcoderz.admintool.sampleOutput",
"jcoderz.admintool.example",
"jcoderz.admintool.optional_param",
"jcoderz.concurrency-control",
"jcoderz.dbms-column",
"jcoderz.dbms-table",
"jcoderz.ds-jndi-name",
"jcoderz.finder-method",
"jsp.attribute",
"jsp.tag",
"web.ejb-ref",
"web.servlet",
"web.servlet-mapping",
"web.servlet-init-param",
"web.env-entry",
"web.security-role",
"weblogic.data-source-name",
"weblogic.enable-call-by-reference",
"weblogic.persistence",
"weblogic.cache",
"weblogic.delay-database-insert-until",
"weblogic.automatic-key-generation",
"weblogic.transaction",
"weblogic.resource-description",
"weblogic.transaction-descriptor",
"weblogic.dbms-column-type",
"description",
"solution",
"procedure",
"verification",
"@annotation"};
/**
* Register this Taglet.
*
* @param tagletMap the map to register this tag to.
*/
public static void register (Map tagletMap)
{
final JcoderzTaglet tag = new JcoderzTaglet();
// loop through the tags
for (int i = 0; i < TAGS.length; i++)
{
final Taglet t = (Taglet) tagletMap.get(TAGS[i]);
if (t != null)
{
tagletMap.remove(TAGS[i]);
}
tagletMap.put(TAGS[i], tag);
}
}
/**
* The name of the taglet.
* @return The name of the taglet.
*/
public String getName ()
{
return "jCoderZ Javadoc 1.4.x Fix";
}
/**
* Will return true since xdoclet
* can be used in field documentation.
*
* @return true since xdoclet tags
* can be used in field documentation and false
* otherwise.
*/
public boolean inField ()
{
return true;
}
/**
* Will return true since xdoclet tag
* can be used in constructor documentation.
*
* @return true since xdoclet tag
* can be used in constructor documentation and false
* otherwise.
*/
public boolean inConstructor ()
{
return true;
}
/**
* Will return true since xdoclet tag
* can be used in method documentation.
*
* @return true since xdoclet tag
* can be used in method documentation and false
* otherwise.
*/
public boolean inMethod ()
{
return true;
}
/**
* Will return true since xdoclet tag
* can be used in method documentation.
*
* @return true since xdoclet tag
* can be used in overview documentation and false
* otherwise.
*/
public boolean inOverview ()
{
return true;
}
/**
* Will return true since xdoclet tag
* can be used in package documentation.
*
* @return true since xdoclet tag
* can be used in package documentation and false
* otherwise.
*/
public boolean inPackage ()
{
return true;
}
/**
* Will return true since xdoclet tag
* can be used in type documentation (classes or interfaces).
*
* @return true since xdoclet tag
* can be used in type documentation and false
* otherwise.
*/
public boolean inType ()
{
return true;
}
/**
* Will return false since xdoclet tags are not
* inline tags.
*
* @return false since xdoclet tags
* are not inline tags.
*/
public boolean isInlineTag ()
{
return false;
}
/**
* Return empty string as the tags should not be shown in Javadoc.
* @param tag the doclet tag encountered
* @return empty string.
*/
public String toString (Tag tag)
{
return "";
}
/**
* Return empty string as the tags should not be shown in Javadoc.
* @param tags the doclet tags encountered
* @return empty string.
*/
public String toString (Tag[] tags)
{
return "";
}
}