import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;
/**
* Tool that generates Javadoc description of the default tokens for a Check.
* @author Rick Giles
* @version 27-Nov-2002
*/
public class JavadocCheckDefault
{
private static void usage()
{
System.out.println("Usage: java JavadocCheckDefault check element");
System.exit(0);
}
public static void main(String[] args)
{
if (args.length < 2) {
usage();
}
final String header =
" * <p> By default the check will check the following "
+ args[1] + ":\n";
final String footer = ".\n * </p>\n";
final String prefix = " * {@link TokenTypes#";
try {
final Class clazz = Class.forName(args[0]);
final Check check = (Check) clazz.newInstance();
final int[] defaultTokens = check.getDefaultTokens();
if (defaultTokens.length > 0) {
final StringBuffer buf = new StringBuffer();
buf.append(header);
final ArrayList tokenNames = new ArrayList();
for (int i = 0; i < defaultTokens.length; i++) {
tokenNames.add(TokenTypes.getTokenName(defaultTokens[i]));
}
Collections.sort(tokenNames);
final Iterator it = tokenNames.iterator();
String token = (String) it.next();
buf.append(prefix + token + " " + token + "}");
while (it.hasNext()) {
token = (String) it.next();
buf.append(",\n" + prefix + token + " " + token + "}");
}
buf.append(footer);
System.out.println(buf);
}
}
catch (Exception ex) {
ex.printStackTrace();
System.exit(0);
}
}
}