protected Map<String, String> loadKeywordDocumentationMap(Root root, String className) { Map<String, String> keywordDocumentation = new HashMap<String, String>(); for (Package packageNode : root.getPackage()) { for (Class classNode : packageNode.getClazz()) { if (className.equals(classNode.getQualified())) { keywordDocumentation.put("__intro__", formatComment(classNode)); Constructor constructorNodeWithComment = null; for (Constructor constructorNode : classNode.getConstructor()) { if (constructorNode.getComment() != null && constructorNode.getComment().trim().length() > 0) { constructorNodeWithComment = constructorNode; } } keywordDocumentation.put("__init__", formatComment(constructorNodeWithComment)); } for (Method methodNode : classNode.getMethod()) { for (AnnotationInstance annotationInstanceNode : methodNode.getAnnotation()) { if (annotationInstanceNode.getName().equals("RobotKeyword")) { keywordDocumentation.put(methodNode.getName(), formatComment(methodNode)); break; } } } } } return keywordDocumentation; }
/** * The entry point into parsing the javadoc. * * @param rootDoc * The RootDoc intstance obtained via the doclet API * @return The root node, containing everything parsed from javadoc doclet */ public Root parseRootDoc(RootDoc rootDoc) { Root rootNode = objectFactory.createRoot(); for (ClassDoc classDoc : rootDoc.classes()) { PackageDoc packageDoc = classDoc.containingPackage(); Package packageNode = packages.get(packageDoc.name()); if (packageNode == null) { packageNode = parsePackage(packageDoc); packages.put(packageDoc.name(), packageNode); rootNode.getPackage().add(packageNode); } if (classDoc instanceof AnnotationTypeDoc) { packageNode.getAnnotation().add(parseAnnotationTypeDoc((AnnotationTypeDoc) classDoc)); } else if (classDoc.isEnum()) { packageNode.getEnum().add(parseEnum(classDoc)); } else if (classDoc.isInterface()) { packageNode.getInterface().add(parseInterface(classDoc)); } else { packageNode.getClazz().add(parseClass(classDoc)); } } return rootNode; }