Docletにさわる
Docletでクラス名とフィールド名をCSVに出力する。
package sample; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import com.sun.javadoc.ClassDoc; import com.sun.javadoc.FieldDoc; import com.sun.javadoc.RootDoc; public class PropertyCsvDoclet { public static boolean start(RootDoc root) throws Exception { File file = new File("C:/doc.csv"); BufferedWriter writer = new BufferedWriter(new FileWriter(file)); ClassDoc classes = root.classes(); for (int i = 0; i < classes.length; ++i) { writer.append(classes[i].name()); writer.append(","); writer.append(getOutlineText(classes[i].commentText())); writer.newLine(); FieldDoc fields = classes[i].fields(false); for (FieldDoc field : fields) { writer.append(","); writer.append(","); writer.append(field.type().typeName()); writer.append(","); writer.append(field.name()); writer.append(","); writer.append(getOutlineText(field.commentText())); writer.newLine(); } } writer.close(); return true; } private static String getOutlineText(String text) { if (text == null || text.trim().length() < 1) { return ""; } String[] strings = text.split("[.。]"); return strings[0]; } }