src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java
changeset 54060 53a95878619f
parent 53991 786825220790
child 54596 86c1da00dd6a
equal deleted inserted replaced
54059:1bc8513104f2 54060:53a95878619f
   216      *
   216      *
   217      * @param name the member name to be added to the content tree.
   217      * @param name the member name to be added to the content tree.
   218      * @param htmltree the content tree to which the name will be added.
   218      * @param htmltree the content tree to which the name will be added.
   219      */
   219      */
   220     protected void addName(String name, Content htmltree) {
   220     protected void addName(String name, Content htmltree) {
   221         htmltree.addContent(name);
   221         htmltree.add(name);
   222     }
   222     }
   223 
   223 
   224     /**
   224     /**
   225      * Add the modifier for the member. The modifiers are ordered as specified
   225      * Add the modifier for the member. The modifiers are ordered as specified
   226      * by <em>The Java Language Specification</em>.
   226      * by <em>The Java Language Specification</em>.
   253                 set.remove(PUBLIC);
   253                 set.remove(PUBLIC);
   254             }
   254             }
   255         }
   255         }
   256         if (!set.isEmpty()) {
   256         if (!set.isEmpty()) {
   257             String mods = set.stream().map(Modifier::toString).collect(Collectors.joining(" "));
   257             String mods = set.stream().map(Modifier::toString).collect(Collectors.joining(" "));
   258             htmltree.addContent(mods);
   258             htmltree.add(mods);
   259             htmltree.addContent(Contents.SPACE);
   259             htmltree.add(Contents.SPACE);
   260         }
   260         }
   261     }
   261     }
   262 
   262 
   263     protected CharSequence makeSpace(int len) {
   263     protected CharSequence makeSpace(int len) {
   264         if (len <= 0) {
   264         if (len <= 0) {
   281     protected void addModifierAndType(Element member, TypeMirror type,
   281     protected void addModifierAndType(Element member, TypeMirror type,
   282             Content tdSummaryType) {
   282             Content tdSummaryType) {
   283         HtmlTree code = new HtmlTree(HtmlTag.CODE);
   283         HtmlTree code = new HtmlTree(HtmlTag.CODE);
   284         addModifier(member, code);
   284         addModifier(member, code);
   285         if (type == null) {
   285         if (type == null) {
   286             code.addContent(utils.isClass(member) ? "class" : "interface");
   286             code.add(utils.isClass(member) ? "class" : "interface");
   287             code.addContent(Contents.SPACE);
   287             code.add(Contents.SPACE);
   288         } else {
   288         } else {
   289             List<? extends TypeParameterElement> list = utils.isExecutableElement(member)
   289             List<? extends TypeParameterElement> list = utils.isExecutableElement(member)
   290                     ? ((ExecutableElement)member).getTypeParameters()
   290                     ? ((ExecutableElement)member).getTypeParameters()
   291                     : null;
   291                     : null;
   292             if (list != null && !list.isEmpty()) {
   292             if (list != null && !list.isEmpty()) {
   293                 Content typeParameters = ((AbstractExecutableMemberWriter) this)
   293                 Content typeParameters = ((AbstractExecutableMemberWriter) this)
   294                         .getTypeParameters((ExecutableElement)member);
   294                         .getTypeParameters((ExecutableElement)member);
   295                     code.addContent(typeParameters);
   295                     code.add(typeParameters);
   296                 //Code to avoid ugly wrapping in member summary table.
   296                 //Code to avoid ugly wrapping in member summary table.
   297                 if (typeParameters.charCount() > 10) {
   297                 if (typeParameters.charCount() > 10) {
   298                     code.addContent(new HtmlTree(HtmlTag.BR));
   298                     code.add(new HtmlTree(HtmlTag.BR));
   299                 } else {
   299                 } else {
   300                     code.addContent(Contents.SPACE);
   300                     code.add(Contents.SPACE);
   301                 }
   301                 }
   302                 code.addContent(
   302                 code.add(
   303                         writer.getLink(new LinkInfoImpl(configuration,
   303                         writer.getLink(new LinkInfoImpl(configuration,
   304                         LinkInfoImpl.Kind.SUMMARY_RETURN_TYPE, type)));
   304                         LinkInfoImpl.Kind.SUMMARY_RETURN_TYPE, type)));
   305             } else {
   305             } else {
   306                 code.addContent(
   306                 code.add(
   307                         writer.getLink(new LinkInfoImpl(configuration,
   307                         writer.getLink(new LinkInfoImpl(configuration,
   308                         LinkInfoImpl.Kind.SUMMARY_RETURN_TYPE, type)));
   308                         LinkInfoImpl.Kind.SUMMARY_RETURN_TYPE, type)));
   309             }
   309             }
   310 
   310 
   311         }
   311         }
   312         tdSummaryType.addContent(code);
   312         tdSummaryType.add(code);
   313     }
   313     }
   314 
   314 
   315     /**
   315     /**
   316      * Add the modifier for the member.
   316      * Add the modifier for the member.
   317      *
   317      *
   318      * @param member the member to add the type for
   318      * @param member the member to add the type for
   319      * @param code the content tree to which the modified will be added
   319      * @param code the content tree to which the modified will be added
   320      */
   320      */
   321     private void addModifier(Element member, Content code) {
   321     private void addModifier(Element member, Content code) {
   322         if (utils.isProtected(member)) {
   322         if (utils.isProtected(member)) {
   323             code.addContent("protected ");
   323             code.add("protected ");
   324         } else if (utils.isPrivate(member)) {
   324         } else if (utils.isPrivate(member)) {
   325             code.addContent("private ");
   325             code.add("private ");
   326         } else if (!utils.isPublic(member)) { // Package private
   326         } else if (!utils.isPublic(member)) { // Package private
   327             code.addContent(resources.getText("doclet.Package_private"));
   327             code.add(resources.getText("doclet.Package_private"));
   328             code.addContent(" ");
   328             code.add(" ");
   329         }
   329         }
   330         boolean isAnnotatedTypeElement = utils.isAnnotationType(member.getEnclosingElement());
   330         boolean isAnnotatedTypeElement = utils.isAnnotationType(member.getEnclosingElement());
   331         if (!isAnnotatedTypeElement && utils.isMethod(member)) {
   331         if (!isAnnotatedTypeElement && utils.isMethod(member)) {
   332             if (!utils.isInterface(member.getEnclosingElement()) && utils.isAbstract(member)) {
   332             if (!utils.isInterface(member.getEnclosingElement()) && utils.isAbstract(member)) {
   333                 code.addContent("abstract ");
   333                 code.add("abstract ");
   334             }
   334             }
   335             if (utils.isDefault(member)) {
   335             if (utils.isDefault(member)) {
   336                 code.addContent("default ");
   336                 code.add("default ");
   337             }
   337             }
   338         }
   338         }
   339         if (utils.isStatic(member)) {
   339         if (utils.isStatic(member)) {
   340             code.addContent("static ");
   340             code.add("static ");
   341         }
   341         }
   342     }
   342     }
   343 
   343 
   344     /**
   344     /**
   345      * Add the deprecated information for the given member.
   345      * Add the deprecated information for the given member.
   351         Content output = (new DeprecatedTaglet()).getTagletOutput(member,
   351         Content output = (new DeprecatedTaglet()).getTagletOutput(member,
   352             writer.getTagletWriterInstance(false));
   352             writer.getTagletWriterInstance(false));
   353         if (!output.isEmpty()) {
   353         if (!output.isEmpty()) {
   354             Content deprecatedContent = output;
   354             Content deprecatedContent = output;
   355             Content div = HtmlTree.DIV(HtmlStyle.deprecationBlock, deprecatedContent);
   355             Content div = HtmlTree.DIV(HtmlStyle.deprecationBlock, deprecatedContent);
   356             contentTree.addContent(div);
   356             contentTree.add(div);
   357         }
   357         }
   358     }
   358     }
   359 
   359 
   360     /**
   360     /**
   361      * Add the comment for the given member.
   361      * Add the comment for the given member.
   422                         && !utils.isClass(element)
   422                         && !utils.isClass(element)
   423                         && !utils.isInterface(element)
   423                         && !utils.isInterface(element)
   424                         && !utils.isAnnotationType(element)) {
   424                         && !utils.isAnnotationType(element)) {
   425                     HtmlTree name = new HtmlTree(HtmlTag.SPAN);
   425                     HtmlTree name = new HtmlTree(HtmlTag.SPAN);
   426                     name.setStyle(HtmlStyle.typeNameLabel);
   426                     name.setStyle(HtmlStyle.typeNameLabel);
   427                     name.addContent(name(te) + ".");
   427                     name.add(name(te) + ".");
   428                     typeContent.addContent(name);
   428                     typeContent.add(name);
   429                 }
   429                 }
   430                 addSummaryLink(utils.isClass(element) || utils.isInterface(element)
   430                 addSummaryLink(utils.isClass(element) || utils.isInterface(element)
   431                         ? LinkInfoImpl.Kind.CLASS_USE
   431                         ? LinkInfoImpl.Kind.CLASS_USE
   432                         : LinkInfoImpl.Kind.MEMBER,
   432                         : LinkInfoImpl.Kind.MEMBER,
   433                         te, element, typeContent);
   433                         te, element, typeContent);
   434                 Content desc = new ContentBuilder();
   434                 Content desc = new ContentBuilder();
   435                 writer.addSummaryLinkComment(this, element, desc);
   435                 writer.addSummaryLinkComment(this, element, desc);
   436                 useTable.addRow(summaryType, typeContent, desc);
   436                 useTable.addRow(summaryType, typeContent, desc);
   437             }
   437             }
   438             contentTree.addContent(useTable.toContent());
   438             contentTree.add(useTable.toContent());
   439         }
   439         }
   440     }
   440     }
   441 
   441 
   442     protected void serialWarning(Element e, String key, String a1, String a2) {
   442     protected void serialWarning(Element e, String key, String a1, String a2) {
   443         if (configuration.serialwarn) {
   443         if (configuration.serialwarn) {