rendered paste body /** * The entry point for javadoc. This method actually creates all * * @param root * the root node javadoc gives * @return true */ public static boolean start(RootDoc root) { List<ClassInfo> classes = new ArrayList<ClassInfo>(); String baseUrl = System.getProperty("baseUrl"); String fileName = System.getProperty("dataFile"); for (ClassDoc classDoc : root.classes()) { ClassInfo ci = new ClassInfo(classDoc.name(), classDoc.qualifiedName(), baseUrl); do { ClassInfo superCi = new ClassInfo(classDoc.name(), classDoc.qualifiedName(), baseUrl); for (MethodDoc md : classDoc.methods(true)) { String signature = md.signature(); if (md.isVarArgs()) { System.out.println("isVarArgs: "+md); int index = signature.lastIndexOf("[]"); signature = signature.substring(0, index) + "..." + signature.substring(index + 2); } MethodInfo mi = new MethodInfo(ci, md.name(), signature, baseUrl, superCi); ci.addMethod(mi); } for (FieldDoc fd : classDoc.fields(true)) { FieldInfo fi = new FieldInfo(ci, fd.name(), fd.type().qualifiedTypeName()); ci.addField(fi); } Type superClass = classDoc.superclassType(); if (superClass == null) { classDoc = null; } else { classDoc = superClass.asClassDoc(); } } while (classDoc != null); classes.add(ci); ci.update(); } write(fileName, classes); return true; }