Mega Code Archive

 
Categories / Java / Language Basics
 

Doclet that prints out all members of the class

// : c15:PrintMembersDoclet.java // Doclet that prints out all members of the class. // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 // www.BruceEckel.com. See copyright notice in CopyRight.txt. import com.sun.javadoc.*; public class PrintMembersDoclet {   public static boolean start(RootDoc root) {     ClassDoc[] classes = root.classes();     processClasses(classes);     return true;   }   private static void processClasses(ClassDoc[] classes) {     for (int i = 0; i < classes.length; i++) {       processOneClass(classes[i]);     }   }   private static void processOneClass(ClassDoc cls) {     FieldDoc[] fd = cls.fields();     for (int i = 0; i < fd.length; i++)       processDocElement(fd[i]);     ConstructorDoc[] cons = cls.constructors();     for (int i = 0; i < cons.length; i++)       processDocElement(cons[i]);     MethodDoc[] md = cls.methods();     for (int i = 0; i < md.length; i++)       processDocElement(md[i]);   }   private static void processDocElement(Doc dc) {     MemberDoc md = (MemberDoc) dc;     System.out.print(md.modifiers());     System.out.print(" " + md.name());     if (md.isMethod())       System.out.println("()");     else if (md.isConstructor())       System.out.println();   } } ///:~