langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java
changeset 40303 96a1226aca18
parent 35426 374342e56a56
child 40511 1b3c502e0bdc
equal deleted inserted replaced
40302:8c0d8d2c3519 40303:96a1226aca18
    80      * @param path       Path to the file which is getting generated.
    80      * @param path       Path to the file which is getting generated.
    81      * @param indexbuilder Unicode based Index from {@link IndexBuilder}
    81      * @param indexbuilder Unicode based Index from {@link IndexBuilder}
    82      */
    82      */
    83     protected AbstractIndexWriter(ConfigurationImpl configuration,
    83     protected AbstractIndexWriter(ConfigurationImpl configuration,
    84                                   DocPath path,
    84                                   DocPath path,
    85                                   IndexBuilder indexbuilder)
    85                                   IndexBuilder indexbuilder) {
    86                                   throws IOException {
       
    87         super(configuration, path);
    86         super(configuration, path);
    88         this.indexbuilder = indexbuilder;
    87         this.indexbuilder = indexbuilder;
    89     }
    88     }
    90 
    89 
    91     /**
    90     /**
    92      * Get the index label for navigation bar.
    91      * Get the index label for navigation bar.
    93      *
    92      *
    94      * @return a content tree for the tree label
    93      * @return a content tree for the tree label
    95      */
    94      */
    96     protected Content getNavLinkIndex() {
    95     protected Content getNavLinkIndex() {
    97         Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, indexLabel);
    96         Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, contents.indexLabel);
    98         return li;
    97         return li;
    99     }
    98     }
   100 
    99 
   101     /**
   100     /**
   102      * Add the member information for the unicode character along with the
   101      * Add the member information for the unicode character along with the
   214      * @param dlTree the content tree to which the description will be added
   213      * @param dlTree the content tree to which the description will be added
   215      */
   214      */
   216     protected void addDescription(PackageElement pkg, Content dlTree, SearchIndexItem si) {
   215     protected void addDescription(PackageElement pkg, Content dlTree, SearchIndexItem si) {
   217         Content link = getPackageLink(pkg, new StringContent(utils.getPackageName(pkg)));
   216         Content link = getPackageLink(pkg, new StringContent(utils.getPackageName(pkg)));
   218         si.setLabel(utils.getPackageName(pkg));
   217         si.setLabel(utils.getPackageName(pkg));
   219         si.setCategory(getResource("doclet.Packages").toString());
   218         si.setCategory(resources.getText("doclet.Packages"));
   220         Content dt = HtmlTree.DT(link);
   219         Content dt = HtmlTree.DT(link);
   221         dt.addContent(" - ");
   220         dt.addContent(" - ");
   222         dt.addContent(getResource("doclet.package"));
   221         dt.addContent(contents.package_);
   223         dt.addContent(" " + utils.getPackageName(pkg));
   222         dt.addContent(" " + utils.getPackageName(pkg));
   224         dlTree.addContent(dt);
   223         dlTree.addContent(dt);
   225         Content dd = new HtmlTree(HtmlTag.DD);
   224         Content dd = new HtmlTree(HtmlTag.DD);
   226         addSummaryComment(pkg, dd);
   225         addSummaryComment(pkg, dd);
   227         dlTree.addContent(dd);
   226         dlTree.addContent(dd);
   236     protected void addDescription(TypeElement typeElement, Content dlTree, SearchIndexItem si) {
   235     protected void addDescription(TypeElement typeElement, Content dlTree, SearchIndexItem si) {
   237         Content link = getLink(new LinkInfoImpl(configuration,
   236         Content link = getLink(new LinkInfoImpl(configuration,
   238                         LinkInfoImpl.Kind.INDEX, typeElement).strong(true));
   237                         LinkInfoImpl.Kind.INDEX, typeElement).strong(true));
   239         si.setContainingPackage(utils.getPackageName(utils.containingPackage(typeElement)));
   238         si.setContainingPackage(utils.getPackageName(utils.containingPackage(typeElement)));
   240         si.setLabel(utils.getSimpleName(typeElement));
   239         si.setLabel(utils.getSimpleName(typeElement));
   241         si.setCategory(getResource("doclet.Types").toString());
   240         si.setCategory(resources.getText("doclet.Types"));
   242         Content dt = HtmlTree.DT(link);
   241         Content dt = HtmlTree.DT(link);
   243         dt.addContent(" - ");
   242         dt.addContent(" - ");
   244         addClassInfo(typeElement, dt);
   243         addClassInfo(typeElement, dt);
   245         dlTree.addContent(dt);
   244         dlTree.addContent(dt);
   246         Content dd = new HtmlTree(HtmlTag.DD);
   245         Content dd = new HtmlTree(HtmlTag.DD);
   254      *
   253      *
   255      * @param te the class being documented
   254      * @param te the class being documented
   256      * @param contentTree the content tree to which the class info will be added
   255      * @param contentTree the content tree to which the class info will be added
   257      */
   256      */
   258     protected void addClassInfo(TypeElement te, Content contentTree) {
   257     protected void addClassInfo(TypeElement te, Content contentTree) {
   259         contentTree.addContent(getResource("doclet.in",
   258         contentTree.addContent(contents.getContent("doclet.in",
   260                 utils.getTypeElementName(te, false),
   259                 utils.getTypeElementName(te, false),
   261                 getPackageLink(utils.containingPackage(te),
   260                 getPackageLink(utils.containingPackage(te),
   262                     utils.getPackageName(utils.containingPackage(te)))
   261                     utils.getPackageName(utils.containingPackage(te)))
   263                 ));
   262                 ));
   264     }
   263     }
   284             }
   283             }
   285 
   284 
   286         }  else {
   285         }  else {
   287             si.setLabel(name);
   286             si.setLabel(name);
   288         }
   287         }
   289         si.setCategory(getResource("doclet.Members").toString());
   288         si.setCategory(resources.getText("doclet.Members"));
   290         Content span = HtmlTree.SPAN(HtmlStyle.memberNameLink,
   289         Content span = HtmlTree.SPAN(HtmlStyle.memberNameLink,
   291                 getDocLink(LinkInfoImpl.Kind.INDEX, member, name));
   290                 getDocLink(LinkInfoImpl.Kind.INDEX, member, name));
   292         Content dt = HtmlTree.DT(span);
   291         Content dt = HtmlTree.DT(span);
   293         dt.addContent(" - ");
   292         dt.addContent(" - ");
   294         addMemberDesc(member, dt);
   293         addMemberDesc(member, dt);
   302         String path = pathToRoot.isEmpty() ? "" : pathToRoot.getPath() + "/";
   301         String path = pathToRoot.isEmpty() ? "" : pathToRoot.getPath() + "/";
   303         path += sii.getUrl();
   302         path += sii.getUrl();
   304         HtmlTree labelLink = HtmlTree.A(path, new StringContent(sii.getLabel()));
   303         HtmlTree labelLink = HtmlTree.A(path, new StringContent(sii.getLabel()));
   305         Content dt = HtmlTree.DT(HtmlTree.SPAN(HtmlStyle.searchTagLink, labelLink));
   304         Content dt = HtmlTree.DT(HtmlTree.SPAN(HtmlStyle.searchTagLink, labelLink));
   306         dt.addContent(" - ");
   305         dt.addContent(" - ");
   307         dt.addContent(getResource("doclet.Search_tag_in", sii.getHolder()));
   306         dt.addContent(contents.getContent("doclet.Search_tag_in", sii.getHolder()));
   308         dlTree.addContent(dt);
   307         dlTree.addContent(dt);
   309         Content dd = new HtmlTree(HtmlTag.DD);
   308         Content dd = new HtmlTree(HtmlTag.DD);
   310         if (sii.getDescription().isEmpty()) {
   309         if (sii.getDescription().isEmpty()) {
   311             dd.addContent(getSpace());
   310             dd.addContent(Contents.SPACE);
   312         } else {
   311         } else {
   313             dd.addContent(sii.getDescription());
   312             dd.addContent(sii.getDescription());
   314         }
   313         }
   315         dlTree.addContent(dd);
   314         dlTree.addContent(dd);
   316     }
   315     }
   324      * @param element Index element
   323      * @param element Index element
   325      * @param contentTree the content tree to which the comment will be added
   324      * @param contentTree the content tree to which the comment will be added
   326      */
   325      */
   327     protected void addComment(Element element, Content contentTree) {
   326     protected void addComment(Element element, Content contentTree) {
   328         List<? extends DocTree> tags;
   327         List<? extends DocTree> tags;
   329         Content span = HtmlTree.SPAN(HtmlStyle.deprecatedLabel, deprecatedPhrase);
   328         Content span = HtmlTree.SPAN(HtmlStyle.deprecatedLabel, contents.deprecatedPhrase);
   330         HtmlTree div = new HtmlTree(HtmlTag.DIV);
   329         HtmlTree div = new HtmlTree(HtmlTag.DIV);
   331         div.addStyle(HtmlStyle.block);
   330         div.addStyle(HtmlStyle.block);
   332         if (utils.isDeprecated(element)) {
   331         if (utils.isDeprecated(element)) {
   333             div.addContent(span);
   332             div.addContent(span);
   334             tags = utils.getBlockTags(element, DocTree.Kind.DEPRECATED);
   333             tags = utils.getBlockTags(element, DocTree.Kind.DEPRECATED);
   358      */
   357      */
   359     protected void addMemberDesc(Element member, Content contentTree) {
   358     protected void addMemberDesc(Element member, Content contentTree) {
   360         TypeElement containing = utils.getEnclosingTypeElement(member);
   359         TypeElement containing = utils.getEnclosingTypeElement(member);
   361         String classdesc = utils.getTypeElementName(containing, true) + " ";
   360         String classdesc = utils.getTypeElementName(containing, true) + " ";
   362         if (utils.isField(member)) {
   361         if (utils.isField(member)) {
   363             Content resource = getResource(utils.isStatic(member)
   362             Content resource = contents.getContent(utils.isStatic(member)
   364                     ? "doclet.Static_variable_in"
   363                     ? "doclet.Static_variable_in"
   365                     : "doclet.Variable_in", classdesc);
   364                     : "doclet.Variable_in", classdesc);
   366             contentTree.addContent(resource);
   365             contentTree.addContent(resource);
   367         } else if (utils.isConstructor(member)) {
   366         } else if (utils.isConstructor(member)) {
   368             contentTree.addContent(
   367             contentTree.addContent(
   369                     getResource("doclet.Constructor_for", classdesc));
   368                     contents.getContent("doclet.Constructor_for", classdesc));
   370         } else if (utils.isMethod(member)) {
   369         } else if (utils.isMethod(member)) {
   371             Content resource = getResource(utils.isStatic(member)
   370             Content resource = contents.getContent(utils.isStatic(member)
   372                     ? "doclet.Static_method_in"
   371                     ? "doclet.Static_method_in"
   373                     : "doclet.Method_in", classdesc);
   372                     : "doclet.Method_in", classdesc);
   374             contentTree.addContent(resource);
   373             contentTree.addContent(resource);
   375         }
   374         }
   376         addPreQualifiedClassLink(LinkInfoImpl.Kind.INDEX, containing,
   375         addPreQualifiedClassLink(LinkInfoImpl.Kind.INDEX, containing,