< prev index next >

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

Print this page
rev 47482 : 8190295: Introduce a new Table builder class
rev 47486 : 8190821: Introduce a new Links builder class


  23  * questions.
  24  */
  25 
  26 package jdk.javadoc.internal.doclets.formats.html;
  27 
  28 import java.util.*;
  29 
  30 import javax.lang.model.element.AnnotationMirror;
  31 import javax.lang.model.element.Element;
  32 import javax.lang.model.element.ModuleElement;
  33 import javax.lang.model.element.PackageElement;
  34 import javax.lang.model.element.TypeElement;
  35 import javax.lang.model.type.TypeMirror;
  36 import javax.lang.model.util.SimpleElementVisitor8;
  37 
  38 import com.sun.source.doctree.DocTree;
  39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
  40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
  41 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
  42 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;

  43 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
  44 import jdk.javadoc.internal.doclets.toolkit.ClassWriter;
  45 import jdk.javadoc.internal.doclets.toolkit.Content;
  46 import jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder;
  47 import jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet;
  48 import jdk.javadoc.internal.doclets.toolkit.util.ClassTree;
  49 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper;
  50 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
  51 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
  52 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
  53 import jdk.javadoc.internal.doclets.toolkit.util.DocletConstants;
  54 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap;
  55 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap.Kind;
  56 
  57 /**
  58  * Generate the Class Information Page.
  59  *
  60  *  <p><b>This is NOT part of any supported API.
  61  *  If you write code that depends on this, you do so at your own risk.
  62  *  This code and its internal interfaces are subject to change or


 102     /**
 103      * Get the module link.
 104      *
 105      * @return a content tree for the module link
 106      */
 107     @Override
 108     protected Content getNavLinkModule() {
 109         Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(typeElement),
 110                 contents.moduleLabel);
 111         Content li = HtmlTree.LI(linkContent);
 112         return li;
 113     }
 114 
 115     /**
 116      * Get this package link.
 117      *
 118      * @return a content tree for the package link
 119      */
 120     @Override
 121     protected Content getNavLinkPackage() {
 122         Content linkContent = getHyperLink(DocPaths.PACKAGE_SUMMARY,
 123                 contents.packageLabel);
 124         Content li = HtmlTree.LI(linkContent);
 125         return li;
 126     }
 127 
 128     /**
 129      * Get the class link.
 130      *
 131      * @return a content tree for the class link
 132      */
 133     @Override
 134     protected Content getNavLinkClass() {
 135         Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, contents.classLabel);
 136         return li;
 137     }
 138 
 139     /**
 140      * Get the class use link.
 141      *
 142      * @return a content tree for the class use link
 143      */
 144     @Override
 145     protected Content getNavLinkClassUse() {
 146         Content linkContent = getHyperLink(DocPaths.CLASS_USE.resolve(filename), contents.useLabel);
 147         Content li = HtmlTree.LI(linkContent);
 148         return li;
 149     }
 150 
 151     /**
 152      * Get link to previous class.
 153      *
 154      * @return a content tree for the previous class link
 155      */
 156     @Override
 157     public Content getNavLinkPrevious() {
 158         Content li;
 159         if (prev != null) {
 160             Content prevLink = getLink(new LinkInfoImpl(configuration,
 161                     LinkInfoImpl.Kind.CLASS, prev)
 162                     .label(contents.prevClassLabel).strong(true));
 163             li = HtmlTree.LI(prevLink);
 164         }
 165         else
 166             li = HtmlTree.LI(contents.prevClassLabel);


 642             }
 643             // TODO: should we simply split this method up to avoid instanceof ?
 644             if (type instanceof TypeElement) {
 645                 Content link = getLink(
 646                         new LinkInfoImpl(configuration, context, (TypeElement)(type)));
 647                 dd.addContent(HtmlTree.CODE(link));
 648             } else {
 649                 Content link = getLink(
 650                         new LinkInfoImpl(configuration, context, ((TypeMirror)type)));
 651                 dd.addContent(HtmlTree.CODE(link));
 652             }
 653         }
 654         return dd;
 655     }
 656 
 657     /**
 658      * {@inheritDoc}
 659      */
 660     @Override
 661     protected Content getNavLinkTree() {
 662         Content treeLinkContent = getHyperLink(DocPaths.PACKAGE_TREE,
 663                 contents.treeLabel, "", "");
 664         Content li = HtmlTree.LI(treeLinkContent);
 665         return li;
 666     }
 667 
 668     /**
 669      * Add summary details to the navigation bar.
 670      *
 671      * @param subDiv the content tree to which the summary detail links will be added
 672      */
 673     @Override
 674     protected void addSummaryDetailLinks(Content subDiv) {
 675         Content div = HtmlTree.DIV(getNavSummaryLinks());
 676         div.addContent(getNavDetailLinks());
 677         subDiv.addContent(div);
 678     }
 679 
 680     /**
 681      * Get summary links for navigation bar.
 682      *




  23  * questions.
  24  */
  25 
  26 package jdk.javadoc.internal.doclets.formats.html;
  27 
  28 import java.util.*;
  29 
  30 import javax.lang.model.element.AnnotationMirror;
  31 import javax.lang.model.element.Element;
  32 import javax.lang.model.element.ModuleElement;
  33 import javax.lang.model.element.PackageElement;
  34 import javax.lang.model.element.TypeElement;
  35 import javax.lang.model.type.TypeMirror;
  36 import javax.lang.model.util.SimpleElementVisitor8;
  37 
  38 import com.sun.source.doctree.DocTree;
  39 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlConstants;
  40 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyle;
  41 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTag;
  42 import jdk.javadoc.internal.doclets.formats.html.markup.HtmlTree;
  43 import jdk.javadoc.internal.doclets.formats.html.markup.Links;
  44 import jdk.javadoc.internal.doclets.formats.html.markup.StringContent;
  45 import jdk.javadoc.internal.doclets.toolkit.ClassWriter;
  46 import jdk.javadoc.internal.doclets.toolkit.Content;
  47 import jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder;
  48 import jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet;
  49 import jdk.javadoc.internal.doclets.toolkit.util.ClassTree;
  50 import jdk.javadoc.internal.doclets.toolkit.util.CommentHelper;
  51 import jdk.javadoc.internal.doclets.toolkit.util.DocFileIOException;
  52 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
  53 import jdk.javadoc.internal.doclets.toolkit.util.DocPaths;
  54 import jdk.javadoc.internal.doclets.toolkit.util.DocletConstants;
  55 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap;
  56 import jdk.javadoc.internal.doclets.toolkit.util.VisibleMemberMap.Kind;
  57 
  58 /**
  59  * Generate the Class Information Page.
  60  *
  61  *  <p><b>This is NOT part of any supported API.
  62  *  If you write code that depends on this, you do so at your own risk.
  63  *  This code and its internal interfaces are subject to change or


 103     /**
 104      * Get the module link.
 105      *
 106      * @return a content tree for the module link
 107      */
 108     @Override
 109     protected Content getNavLinkModule() {
 110         Content linkContent = getModuleLink(utils.elementUtils.getModuleOf(typeElement),
 111                 contents.moduleLabel);
 112         Content li = HtmlTree.LI(linkContent);
 113         return li;
 114     }
 115 
 116     /**
 117      * Get this package link.
 118      *
 119      * @return a content tree for the package link
 120      */
 121     @Override
 122     protected Content getNavLinkPackage() {
 123         Content linkContent = Links.createLink(DocPaths.PACKAGE_SUMMARY,
 124                 contents.packageLabel);
 125         Content li = HtmlTree.LI(linkContent);
 126         return li;
 127     }
 128 
 129     /**
 130      * Get the class link.
 131      *
 132      * @return a content tree for the class link
 133      */
 134     @Override
 135     protected Content getNavLinkClass() {
 136         Content li = HtmlTree.LI(HtmlStyle.navBarCell1Rev, contents.classLabel);
 137         return li;
 138     }
 139 
 140     /**
 141      * Get the class use link.
 142      *
 143      * @return a content tree for the class use link
 144      */
 145     @Override
 146     protected Content getNavLinkClassUse() {
 147         Content linkContent = Links.createLink(DocPaths.CLASS_USE.resolve(filename), contents.useLabel);
 148         Content li = HtmlTree.LI(linkContent);
 149         return li;
 150     }
 151 
 152     /**
 153      * Get link to previous class.
 154      *
 155      * @return a content tree for the previous class link
 156      */
 157     @Override
 158     public Content getNavLinkPrevious() {
 159         Content li;
 160         if (prev != null) {
 161             Content prevLink = getLink(new LinkInfoImpl(configuration,
 162                     LinkInfoImpl.Kind.CLASS, prev)
 163                     .label(contents.prevClassLabel).strong(true));
 164             li = HtmlTree.LI(prevLink);
 165         }
 166         else
 167             li = HtmlTree.LI(contents.prevClassLabel);


 643             }
 644             // TODO: should we simply split this method up to avoid instanceof ?
 645             if (type instanceof TypeElement) {
 646                 Content link = getLink(
 647                         new LinkInfoImpl(configuration, context, (TypeElement)(type)));
 648                 dd.addContent(HtmlTree.CODE(link));
 649             } else {
 650                 Content link = getLink(
 651                         new LinkInfoImpl(configuration, context, ((TypeMirror)type)));
 652                 dd.addContent(HtmlTree.CODE(link));
 653             }
 654         }
 655         return dd;
 656     }
 657 
 658     /**
 659      * {@inheritDoc}
 660      */
 661     @Override
 662     protected Content getNavLinkTree() {
 663         Content treeLinkContent = Links.createLink(DocPaths.PACKAGE_TREE,
 664                 contents.treeLabel, "", "");
 665         Content li = HtmlTree.LI(treeLinkContent);
 666         return li;
 667     }
 668 
 669     /**
 670      * Add summary details to the navigation bar.
 671      *
 672      * @param subDiv the content tree to which the summary detail links will be added
 673      */
 674     @Override
 675     protected void addSummaryDetailLinks(Content subDiv) {
 676         Content div = HtmlTree.DIV(getNavSummaryLinks());
 677         div.addContent(getNavDetailLinks());
 678         subDiv.addContent(div);
 679     }
 680 
 681     /**
 682      * Get summary links for navigation bar.
 683      *


< prev index next >