diff --git a/contrib/JavadocCheckDefault.java b/contrib/JavadocCheckDefault.java new file mode 100644 index 000000000..c96a9a2ba --- /dev/null +++ b/contrib/JavadocCheckDefault.java @@ -0,0 +1,62 @@ + +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 = + " *
By default the check will check the following " + + args[1] + ":\n"; + final String footer = ".\n *
\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); + } + } +}