/** * Add the modifier for the member. * * @param member the member for which teh modifier will be added. * @param htmltree the content tree to which the modifier information will be added. */ protected void addModifiers(MemberDoc member, Content htmltree) { String mod = modifierString(member); // According to JLS, we should not be showing public modifier for // interface methods. if ((member.isField() || member.isMethod()) && writer instanceof ClassWriterImpl && ((ClassWriterImpl) writer).getClassDoc().isInterface()) { // This check for isDefault() and the default modifier needs to be // added for it to appear on the method details section. Once the // default modifier is added to the Modifier list on DocEnv and once // it is updated to use the javax.lang.model.element.Modifier, we // will need to remove this. mod = (member.isMethod() && ((MethodDoc) member).isDefault()) ? utils.replaceText(mod, "public", "default").trim() : utils.replaceText(mod, "public", "").trim(); } if (mod.length() > 0) { htmltree.addContent(mod); htmltree.addContent(writer.getSpace()); } }
/** * Get the header for the section. * * @param member the member being documented. * @return a header content for the section. */ protected Content getHead(MemberDoc member) { Content memberContent = new StringContent(member.name()); Content heading = HtmlTree.HEADING(HtmlConstants.MEMBER_HEADING, memberContent); return heading; }
/** * Return a string describing the access modifier flags. Don't include native or synchronized. * * <p>The modifier names are returned in canonical order, as specified by <em>The Java Language * Specification</em>. */ protected String modifierString(MemberDoc member) { int ms = member.modifierSpecifier(); int no = Modifier.NATIVE | Modifier.SYNCHRONIZED; return Modifier.toString(ms & ~no); }