public static boolean start(RootDoc root) { //iterate over all classes. HashMap<String, ClassInspect> inspects = new HashMap<>(root.classes().length); ClassDoc[] classes = root.classes(); for (ClassDoc classDoc : classes) { ClassInspect classInspect = new ClassInspect(classDoc.name(), ((ClassDocImpl) classDoc).type.toString(), classDoc.commentText()); inspects.put(classInspect.getFullName(), classInspect); classInspect.setMethods(getInspects(classDoc.methods())); classInspect.setConstructors(getInspects(classDoc.constructors())); } SerializeInspect serializeInspect = new SerializeInspect(); String json = serializeInspect.toJson(inspects); serializeInspect.saveToFile(json); return true; }
public String name() { if (name == null) name = wrapped.name(); return name; }
private String getUnqualifiedName(String className) { if (this.rootClassdocs.get(className) == null) { int idx = className.lastIndexOf('.'); return idx > 0 ? className.substring(idx + 1) : className; } else { return this.rootClassdocs.get(className).name(); } }
/** Return the ClassDoc for the specified class; null if not found. */ private static ClassDoc findClass(RootDoc root, String name) { ClassDoc[] classes = root.classes(); for (ClassDoc cd : classes) if(cd.name().equals(name)) return cd; return null; }
/** Return the ClassDoc for the specified class; null if not found. */ private static ClassDoc findClass(RootDoc root, String name) { ClassDoc[] classes = root.classes(); for (ClassDoc cd : classes) if(cd.name().equals(name)) return cd; return null; }
public Options getOptionsFor(String name) { if (!matcher.matches(name)) return hideOptions; else if (name.equals(cd.name())) return centerOptions; else return globalOptions; }
/** * Return the path for the simple name of the class. * For example, if the class is java.lang.Object, * the path is Object.html. */ public static DocPath forName(ClassDoc cd) { return (cd == null) ? empty : new DocPath(cd.name() + ".html"); }
/** * @return "com.acme.pkg.Outer$Inner$Inner2" */ public static String className(ClassDoc classDoc) { // "Outer.Inner.Inner2" => "Outer$Inner$Inner2" String name = classDoc.name().replace('.', '$'); String packageName = classDoc.containingPackage().name(); return packageName.isEmpty() ? name : packageName + '.' + name; } }
/** * @return "com.acme.pkg.Outer$Inner$Inner2" */ public static String className(ClassDoc classDoc) { // "Outer.Inner.Inner2" => "Outer$Inner$Inner2" String name = classDoc.name().replace('.', '$'); String packageName = classDoc.containingPackage().name(); return packageName.isEmpty() ? name : packageName + '.' + name; } }
private MemberDoc findExecutableMember(String memName, String[] paramarr, ClassDoc referencedClass) { if (memName.equals(referencedClass.name())) { return ((ClassDocImpl)referencedClass).findConstructor(memName, paramarr); } else { // it's a method. return ((ClassDocImpl)referencedClass).findMethod(memName, paramarr); } }
public void setContextCenter(ClassDoc contextCenter) { this.cd = contextCenter; String outputPath = cd.containingPackage().name().replace('.', '/') + "/" + cd.name() + ".dot"; this.myGlobalOptions.setOption(new String[] { "output", outputPath }); matcher.setContextCenter(Pattern.compile(Pattern.quote(cd.toString()))); }
/** * Return path to the class page for a classdoc. For example, the class * name is "java.lang.Object" and if the current file getting generated is * "java/io/File.html", then the path string to the class, returned is * "../../java/lang.Object.html". * * @param cd Class to which the path is requested. */ protected String pathToClass( ClassDoc cd ) { return pathString( cd.containingPackage(), cd.name() + ".html" ); }
/** * Given a class name return the full path to the class file. * For example, if ClassDoc passed is for "java.lang.Object" then the * string returned is "java/lang/Object.html". * * @param cd ClassDoc. */ public static String getPathToClass(ClassDoc cd) { return getPathToPackage(cd.containingPackage(), cd.name() + ".html"); }
public void setContextCenter(ClassDoc contextCenter) { this.cd = contextCenter; String outputPath = cd.containingPackage().name().replace('.', '/') + "/" + cd.name() + ".dot"; this.myGlobalOptions.setOption(new String[] { "-output", outputPath }); matcher.setContextCenter(Pattern.compile(cd.toString())); }
public Options getOptionsFor(String name) { Options opt; if (!matcher.matches(name)) opt = hideOptions; else if (name.equals(cd.name())) opt = centerOptions; else opt = globalOptions; Options optionClone = (Options) opt.clone(); overrideForClass(optionClone, name); return optionClone; }
public Options getGlobalOptions() { Options go = provider.getGlobalOptions(); boolean outputSet = false; for (String[] opts : globalOptions) { if (opts[0].equals("-output")) outputSet = true; go.setOption(opts); } if (!outputSet) go.setOption(new String[] { "-output", viewDoc.name() + ".dot" }); return go; }
public String italicsClassName( ClassDoc cd, boolean qual ) { String name = (qual) ? cd.qualifiedName() : cd.name(); return (cd.isInterface()) ? italicsText( name ) : name; }
public Options getGlobalOptions() { Options go = provider.getGlobalOptions(); boolean outputSet = false; for (String[] opts : globalOptions) { if (Options.matchOption(opts[0], "output")) outputSet = true; go.setOption(opts); } if (!outputSet) go.setOption(new String[] { "output", viewDoc.name() + ".dot" }); return go; }
public void overrideForClass(Options opt, ClassDoc cd) { opt.showQualified = false; if (!matcher.matches(cd) || parent.getGlobalOptions().matchesHideExpression(cd.name())) opt.setOption(new String[] { "-hide" }); }
/** Convert the class name into a corresponding URL */ public String classToUrl(ClassDoc cd, boolean rootClass) { // building relative path for context and package diagrams if(contextPackageName != null && rootClass) return buildRelativePathFromClassNames(contextPackageName, cd.containingPackage().name()) + cd.name() + ".html"; return classToUrl(cd.qualifiedName()); }