< prev index next >

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java

Print this page




 236                 .setDefaultTab(resources.getText("doclet.All_Methods"))
 237                 .addTab(resources.getText("doclet.Static_Methods"), utils::isStatic)
 238                 .addTab(resources.getText("doclet.Instance_Methods"), e -> !utils.isStatic(e))
 239                 .addTab(resources.getText("doclet.Abstract_Methods"), utils::isAbstract)
 240                 .addTab(resources.getText("doclet.Concrete_Methods"),
 241                         e -> !utils.isAbstract(e) && !utils.isInterface(e.getEnclosingElement()))
 242                 .addTab(resources.getText("doclet.Default_Methods"), utils::isDefault)
 243                 .addTab(resources.getText("doclet.Deprecated_Methods"),
 244                         e -> utils.isDeprecated(e) || utils.isDeprecated(typeElement))
 245                 .setTabScript(i -> "show(" + i + ");");
 246     }
 247 
 248     /**
 249      * {@inheritDoc}
 250      */
 251     @Override
 252     public void addInheritedSummaryLabel(TypeElement typeElement, Content inheritedTree) {
 253         Content classLink = writer.getPreQualifiedClassLink(
 254                 LinkInfoImpl.Kind.MEMBER, typeElement, false);
 255         Content label;
 256         if (configuration.summarizeOverriddenMethods) {
 257             label = new StringContent(utils.isClass(typeElement)
 258                     ? resources.getText("doclet.Methods_Declared_In_Class")
 259                     : resources.getText("doclet.Methods_Declared_In_Interface"));
 260         } else {
 261             label = new StringContent(utils.isClass(typeElement)
 262                     ? resources.getText("doclet.Methods_Inherited_From_Class")
 263                     : resources.getText("doclet.Methods_Inherited_From_Interface"));
 264         }
 265         HtmlTree labelHeading = HtmlTree.HEADING(Headings.TypeDeclaration.INHERITED_SUMMARY_HEADING,
 266                 label);
 267         labelHeading.setId(SectionName.METHODS_INHERITANCE.getName()
 268                 + links.getName(configuration.getClassName(typeElement)));
 269         labelHeading.add(Entity.NO_BREAK_SPACE);
 270         labelHeading.add(classLink);
 271         inheritedTree.add(labelHeading);
 272     }
 273 
 274     /**
 275      * {@inheritDoc}
 276      */
 277     @Override
 278     protected void addSummaryType(Element member, Content tdSummaryType) {
 279         ExecutableElement meth = (ExecutableElement)member;
 280         addModifierAndType(meth, utils.getReturnType(typeElement, meth), tdSummaryType);
 281     }
 282 
 283     /**
 284      * {@inheritDoc}
 285      */
 286     protected static void addOverridden(HtmlDocletWriter writer,
 287             TypeMirror overriddenType, ExecutableElement method, Content dl) {
 288         if (writer.configuration.nocomment) {
 289             return;
 290         }
 291         Utils utils = writer.utils;
 292         Contents contents = writer.contents;
 293         TypeElement holder = utils.getEnclosingTypeElement(method);
 294         if (!(utils.isPublic(holder) ||
 295             utils.isLinkable(holder))) {
 296             //This is an implementation detail that should not be documented.
 297             return;
 298         }
 299         if (utils.isIncluded(holder) && ! utils.isIncluded(method)) {
 300             //The class is included but the method is not.  That means that it
 301             //is not visible so don't document this.
 302             return;
 303         }
 304         Content label = contents.overridesLabel;
 305         LinkInfoImpl.Kind context = LinkInfoImpl.Kind.METHOD_OVERRIDES;
 306 
 307         if (method != null) {
 308             if (utils.isAbstract(holder) && utils.isAbstract(method)){


 319             Content methlink = writer.getLink(
 320                     new LinkInfoImpl(writer.configuration, LinkInfoImpl.Kind.MEMBER, holder)
 321                             .where(writer.links.getName(writer.getAnchor(method)))
 322                             .label(method.getSimpleName()));
 323             Content codeMethLink = HtmlTree.CODE(methlink);
 324             Content dd = HtmlTree.DD(codeMethLink);
 325             dd.add(Entity.NO_BREAK_SPACE);
 326             dd.add(writer.contents.inClass);
 327             dd.add(Entity.NO_BREAK_SPACE);
 328             dd.add(codeOverriddenTypeLink);
 329             dl.add(dd);
 330         }
 331     }
 332 
 333     /**
 334      * {@inheritDoc}
 335      */
 336     protected static void addImplementsInfo(HtmlDocletWriter writer,
 337             ExecutableElement method, Content dl) {
 338         Utils utils = writer.utils;
 339         if (utils.isStatic(method) || writer.configuration.nocomment) {
 340             return;
 341         }
 342         Contents contents = writer.contents;
 343         VisibleMemberTable vmt = writer.configuration
 344                 .getVisibleMemberTable(utils.getEnclosingTypeElement(method));
 345         SortedSet<ExecutableElement> implementedMethods =
 346                 new TreeSet<>(utils.makeOverrideUseComparator());
 347         implementedMethods.addAll(vmt.getImplementedMethods(method));
 348         for (ExecutableElement implementedMeth : implementedMethods) {
 349             TypeMirror intfac = vmt.getImplementedMethodHolder(method, implementedMeth);
 350             intfac = utils.getDeclaredType(utils.getEnclosingTypeElement(method), intfac);
 351             Content intfaclink = writer.getLink(new LinkInfoImpl(
 352                     writer.configuration, LinkInfoImpl.Kind.METHOD_SPECIFIED_BY, intfac));
 353             Content codeIntfacLink = HtmlTree.CODE(intfaclink);
 354             Content dt = HtmlTree.DT(HtmlTree.SPAN(HtmlStyle.overrideSpecifyLabel, contents.specifiedByLabel));
 355             dl.add(dt);
 356             Content methlink = writer.getDocLink(
 357                     LinkInfoImpl.Kind.MEMBER, implementedMeth,
 358                     implementedMeth.getSimpleName(), false);
 359             Content codeMethLink = HtmlTree.CODE(methlink);




 236                 .setDefaultTab(resources.getText("doclet.All_Methods"))
 237                 .addTab(resources.getText("doclet.Static_Methods"), utils::isStatic)
 238                 .addTab(resources.getText("doclet.Instance_Methods"), e -> !utils.isStatic(e))
 239                 .addTab(resources.getText("doclet.Abstract_Methods"), utils::isAbstract)
 240                 .addTab(resources.getText("doclet.Concrete_Methods"),
 241                         e -> !utils.isAbstract(e) && !utils.isInterface(e.getEnclosingElement()))
 242                 .addTab(resources.getText("doclet.Default_Methods"), utils::isDefault)
 243                 .addTab(resources.getText("doclet.Deprecated_Methods"),
 244                         e -> utils.isDeprecated(e) || utils.isDeprecated(typeElement))
 245                 .setTabScript(i -> "show(" + i + ");");
 246     }
 247 
 248     /**
 249      * {@inheritDoc}
 250      */
 251     @Override
 252     public void addInheritedSummaryLabel(TypeElement typeElement, Content inheritedTree) {
 253         Content classLink = writer.getPreQualifiedClassLink(
 254                 LinkInfoImpl.Kind.MEMBER, typeElement, false);
 255         Content label;
 256         if (options.summarizeOverriddenMethods) {
 257             label = new StringContent(utils.isClass(typeElement)
 258                     ? resources.getText("doclet.Methods_Declared_In_Class")
 259                     : resources.getText("doclet.Methods_Declared_In_Interface"));
 260         } else {
 261             label = new StringContent(utils.isClass(typeElement)
 262                     ? resources.getText("doclet.Methods_Inherited_From_Class")
 263                     : resources.getText("doclet.Methods_Inherited_From_Interface"));
 264         }
 265         HtmlTree labelHeading = HtmlTree.HEADING(Headings.TypeDeclaration.INHERITED_SUMMARY_HEADING,
 266                 label);
 267         labelHeading.setId(SectionName.METHODS_INHERITANCE.getName()
 268                 + links.getName(configuration.getClassName(typeElement)));
 269         labelHeading.add(Entity.NO_BREAK_SPACE);
 270         labelHeading.add(classLink);
 271         inheritedTree.add(labelHeading);
 272     }
 273 
 274     /**
 275      * {@inheritDoc}
 276      */
 277     @Override
 278     protected void addSummaryType(Element member, Content tdSummaryType) {
 279         ExecutableElement meth = (ExecutableElement)member;
 280         addModifierAndType(meth, utils.getReturnType(typeElement, meth), tdSummaryType);
 281     }
 282 
 283     /**
 284      * {@inheritDoc}
 285      */
 286     protected static void addOverridden(HtmlDocletWriter writer,
 287             TypeMirror overriddenType, ExecutableElement method, Content dl) {
 288         if (writer.options.noComment) {
 289             return;
 290         }
 291         Utils utils = writer.utils;
 292         Contents contents = writer.contents;
 293         TypeElement holder = utils.getEnclosingTypeElement(method);
 294         if (!(utils.isPublic(holder) ||
 295             utils.isLinkable(holder))) {
 296             //This is an implementation detail that should not be documented.
 297             return;
 298         }
 299         if (utils.isIncluded(holder) && ! utils.isIncluded(method)) {
 300             //The class is included but the method is not.  That means that it
 301             //is not visible so don't document this.
 302             return;
 303         }
 304         Content label = contents.overridesLabel;
 305         LinkInfoImpl.Kind context = LinkInfoImpl.Kind.METHOD_OVERRIDES;
 306 
 307         if (method != null) {
 308             if (utils.isAbstract(holder) && utils.isAbstract(method)){


 319             Content methlink = writer.getLink(
 320                     new LinkInfoImpl(writer.configuration, LinkInfoImpl.Kind.MEMBER, holder)
 321                             .where(writer.links.getName(writer.getAnchor(method)))
 322                             .label(method.getSimpleName()));
 323             Content codeMethLink = HtmlTree.CODE(methlink);
 324             Content dd = HtmlTree.DD(codeMethLink);
 325             dd.add(Entity.NO_BREAK_SPACE);
 326             dd.add(writer.contents.inClass);
 327             dd.add(Entity.NO_BREAK_SPACE);
 328             dd.add(codeOverriddenTypeLink);
 329             dl.add(dd);
 330         }
 331     }
 332 
 333     /**
 334      * {@inheritDoc}
 335      */
 336     protected static void addImplementsInfo(HtmlDocletWriter writer,
 337             ExecutableElement method, Content dl) {
 338         Utils utils = writer.utils;
 339         if (utils.isStatic(method) || writer.options.noComment) {
 340             return;
 341         }
 342         Contents contents = writer.contents;
 343         VisibleMemberTable vmt = writer.configuration
 344                 .getVisibleMemberTable(utils.getEnclosingTypeElement(method));
 345         SortedSet<ExecutableElement> implementedMethods =
 346                 new TreeSet<>(utils.makeOverrideUseComparator());
 347         implementedMethods.addAll(vmt.getImplementedMethods(method));
 348         for (ExecutableElement implementedMeth : implementedMethods) {
 349             TypeMirror intfac = vmt.getImplementedMethodHolder(method, implementedMeth);
 350             intfac = utils.getDeclaredType(utils.getEnclosingTypeElement(method), intfac);
 351             Content intfaclink = writer.getLink(new LinkInfoImpl(
 352                     writer.configuration, LinkInfoImpl.Kind.METHOD_SPECIFIED_BY, intfac));
 353             Content codeIntfacLink = HtmlTree.CODE(intfaclink);
 354             Content dt = HtmlTree.DT(HtmlTree.SPAN(HtmlStyle.overrideSpecifyLabel, contents.specifiedByLabel));
 355             dl.add(dt);
 356             Content methlink = writer.getDocLink(
 357                     LinkInfoImpl.Kind.MEMBER, implementedMeth,
 358                     implementedMeth.getSimpleName(), false);
 359             Content codeMethLink = HtmlTree.CODE(methlink);


< prev index next >