43 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation; |
43 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation; |
44 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode; |
44 import jdk.javadoc.internal.doclets.formats.html.markup.Navigation.PageMode; |
45 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent; |
45 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent; |
46 import jdk.javadoc.internal.doclets.toolkit.ClassWriter; |
46 import jdk.javadoc.internal.doclets.toolkit.ClassWriter; |
47 import jdk.javadoc.internal.doclets.toolkit.Content; |
47 import jdk.javadoc.internal.doclets.toolkit.Content; |
48 import jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder; |
|
49 import jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet; |
48 import jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet; |
50 import jdk.javadoc.internal.doclets.toolkit.util.ClassTree; |
49 import jdk.javadoc.internal.doclets.toolkit.util.ClassTree; |
51 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper; |
50 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper; |
52 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException; |
51 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException; |
53 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths; |
|
54 import jdk.javadoc.internal.doclets.toolkit.util.DocletConstants; |
52 import jdk.javadoc.internal.doclets.toolkit.util.DocletConstants; |
55 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap; |
|
56 |
53 |
57 /** |
54 /** |
58 * Generate the Class Information Page. |
55 * Generate the Class Information Page. |
59 * |
56 * |
60 * <p><b>This is NOT part of any supported API. |
57 * <p><b>This is NOT part of any supported API. |
120 ModuleElement mdle = configuration.docEnv.getElementUtils().getModuleOf(typeElement); |
117 ModuleElement mdle = configuration.docEnv.getElementUtils().getModuleOf(typeElement); |
121 Content classModuleLabel = HtmlTree.SPAN(HtmlStyle.moduleLabelInType, contents.moduleLabel); |
118 Content classModuleLabel = HtmlTree.SPAN(HtmlStyle.moduleLabelInType, contents.moduleLabel); |
122 Content moduleNameDiv = HtmlTree.DIV(HtmlStyle.subTitle, classModuleLabel); |
119 Content moduleNameDiv = HtmlTree.DIV(HtmlStyle.subTitle, classModuleLabel); |
123 moduleNameDiv.addContent(Contents.SPACE); |
120 moduleNameDiv.addContent(Contents.SPACE); |
124 moduleNameDiv.addContent(getModuleLink(mdle, |
121 moduleNameDiv.addContent(getModuleLink(mdle, |
125 new StringContent(mdle.getQualifiedName().toString()))); |
122 new StringContent(mdle.getQualifiedName()))); |
126 div.addContent(moduleNameDiv); |
123 div.addContent(moduleNameDiv); |
127 } |
124 } |
128 PackageElement pkg = utils.containingPackage(typeElement); |
125 PackageElement pkg = utils.containingPackage(typeElement); |
129 if (!pkg.isUnnamed()) { |
126 if (!pkg.isUnnamed()) { |
130 Content classPackageLabel = HtmlTree.SPAN(HtmlStyle.packageLabelInType, contents.packageLabel); |
127 Content classPackageLabel = HtmlTree.SPAN(HtmlStyle.packageLabelInType, contents.packageLabel); |
371 * {@inheritDoc} |
368 * {@inheritDoc} |
372 */ |
369 */ |
373 @Override |
370 @Override |
374 public void addSubClassInfo(Content classInfoTree) { |
371 public void addSubClassInfo(Content classInfoTree) { |
375 if (utils.isClass(typeElement)) { |
372 if (utils.isClass(typeElement)) { |
376 if (typeElement.getQualifiedName().toString().equals("java.lang.Object") || |
373 if (typeElement.getQualifiedName().contentEquals("java.lang.Object") || |
377 typeElement.getQualifiedName().toString().equals("org.omg.CORBA.Object")) { |
374 typeElement.getQualifiedName().contentEquals("org.omg.CORBA.Object")) { |
378 return; // Don't generate the list, too huge |
375 return; // Don't generate the list, too huge |
379 } |
376 } |
380 Set<TypeElement> subclasses = classtree.directSubClasses(typeElement, false); |
377 Set<TypeElement> subclasses = classtree.directSubClasses(typeElement, false); |
381 if (!subclasses.isEmpty()) { |
378 if (!subclasses.isEmpty()) { |
382 Content label = contents.subclassesLabel; |
379 Content label = contents.subclassesLabel; |
413 @Override |
410 @Override |
414 public void addInterfaceUsageInfo (Content classInfoTree) { |
411 public void addInterfaceUsageInfo (Content classInfoTree) { |
415 if (!utils.isInterface(typeElement)) { |
412 if (!utils.isInterface(typeElement)) { |
416 return; |
413 return; |
417 } |
414 } |
418 if (typeElement.getQualifiedName().toString().equals("java.lang.Cloneable") || |
415 if (typeElement.getQualifiedName().contentEquals("java.lang.Cloneable") || |
419 typeElement.getQualifiedName().toString().equals("java.io.Serializable")) { |
416 typeElement.getQualifiedName().contentEquals("java.io.Serializable")) { |
420 return; // Don't generate the list, too big |
417 return; // Don't generate the list, too big |
421 } |
418 } |
422 Set<TypeElement> implcl = classtree.implementingClasses(typeElement); |
419 Set<TypeElement> implcl = classtree.implementingClasses(typeElement); |
423 if (!implcl.isEmpty()) { |
420 if (!implcl.isEmpty()) { |
424 Content label = contents.implementingClassesLabel; |
421 Content label = contents.implementingClassesLabel; |