/[classpath]/gjdoc/src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java
ViewVC logotype

Diff of /gjdoc/src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by julian, Fri Dec 10 18:20:52 2004 UTC revision 1.11 by julian, Mon Dec 13 17:39:51 2004 UTC
# Line 64  import java.util.Iterator; Line 64  import java.util.Iterator;
64  import java.util.LinkedHashSet;  import java.util.LinkedHashSet;
65  import java.util.LinkedList;  import java.util.LinkedList;
66  import java.util.List;  import java.util.List;
67    import java.util.ListIterator;
68  import java.util.Map;  import java.util.Map;
69  import java.util.Properties;  import java.util.Properties;
70  import java.util.Set;  import java.util.Set;
# Line 321  public class HtmlDoclet Line 322  public class HtmlDoclet
322     private void printPackagePageClasses(HtmlPage output, ClassDoc[] classDocs, String header)     private void printPackagePageClasses(HtmlPage output, ClassDoc[] classDocs, String header)
323     {     {
324        if (classDocs.length > 0) {        if (classDocs.length > 0) {
325           output.beginTable(CssClass.PACKAGE_SUMMARY);           output.beginTable(CssClass.PACKAGE_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });
326           output.rowDiv(CssClass.TABLE_HEADER, header);           output.rowDiv(CssClass.TABLE_HEADER, header);
327    
328           for (int i=0; i<classDocs.length; ++i) {           for (int i=0; i<classDocs.length; ++i) {
# Line 340  public class HtmlDoclet Line 341  public class HtmlDoclet
341              }              }
342           }           }
343           output.endTable();           output.endTable();
344             output.print("\n");
345        }        }
346     }     }
347    
# Line 481  public class HtmlDoclet Line 483  public class HtmlDoclet
483        if (node.classDoc.isIncluded()) {        if (node.classDoc.isIncluded()) {
484           output.print(node.classDoc.containingPackage().name());           output.print(node.classDoc.containingPackage().name());
485           output.print(".");           output.print(".");
486             output.beginSpan(CssClass.TREE_LINK);
487           printType(output, node.classDoc);           printType(output, node.classDoc);
488             output.endSpan(CssClass.TREE_LINK);
489        }        }
490        else {        else {
491           output.print(node.classDoc.qualifiedName());           output.print(node.classDoc.qualifiedName());
492        }        }
493          ClassDoc[] interfaces = node.classDoc.interfaces();
494          if (interfaces.length > 0) {
495             output.print(" (implements ");
496             for (int i=0; i<interfaces.length; ++i) {
497                ClassDoc implemented = interfaces[i];
498                if (i > 0) {
499                   output.print(", ");
500                }
501                if (implemented.isIncluded()) {
502                   output.print(implemented.containingPackage().name());
503                   output.print(".");
504                   printType(output, implemented);
505                }
506                else {
507                   output.print(implemented.qualifiedTypeName());
508                }
509             }
510             output.print(" )");
511          }
512    
513        output.endElement("li");        output.endElement("li");
514        output.beginElement("ul");        output.beginElement("ul");
515        Iterator it = node.children.iterator();        Iterator it = node.children.iterator();
# Line 577  public class HtmlDoclet Line 601  public class HtmlDoclet
601        output.beginBody();        output.beginBody();
602        printNavBarTop(output, "full-tree");        printNavBarTop(output, "full-tree");
603    
604        output.div(CssClass.PACKAGE_TREE_TITLE, "Hierarchy");        output.div(CssClass.PACKAGE_TREE_TITLE, "Hierarchy for All Packages");
605    
606          output.beginDiv(CssClass.FULL_TREE_PACKAGELIST);
607          output.div(CssClass.FULL_TREE_PACKAGELIST_HEADER, "Package Hierarchies:");
608          output.beginDiv(CssClass.FULL_TREE_PACKAGELIST_ITEM);
609          Set allPackages = getAllPackages();
610          Iterator it = allPackages.iterator();
611          while (it.hasNext()) {
612             PackageDoc packageDoc = (PackageDoc)it.next();
613             output.beginAnchor(getPackageURL(packageDoc) + "/tree" + filenameExtension);
614             output.print(packageDoc.name());
615             output.endAnchor();
616             if (it.hasNext()) {
617                output.print(", ");
618             }
619          }
620          output.endDiv(CssClass.FULL_TREE_PACKAGELIST_ITEM);
621          output.endDiv(CssClass.FULL_TREE_PACKAGELIST);
622    
623        ClassDoc[] classDocs = getRootDoc().classes();        ClassDoc[] classDocs = getRootDoc().classes();
624        printClassTree(output, classDocs);        printClassTree(output, classDocs);
# Line 706  public class HtmlDoclet Line 747  public class HtmlDoclet
747        output.beginPage("Package Menu", getOutputCharset());        output.beginPage("Package Menu", getOutputCharset());
748        output.beginBody();        output.beginBody();
749    
750          output.beginSpan(CssClass.PACKAGE_MENU_ENTRY);
751          output.beginAnchor("all-classes" + filenameExtension,
752                             null,
753                             "classes");
754          output.print("All Classes");
755          output.endAnchor();
756    
757        output.div(CssClass.PACKAGE_MENU_TITLE, "Packages");        output.div(CssClass.PACKAGE_MENU_TITLE, "Packages");
758    
759        output.beginDiv(CssClass.PACKAGE_MENU_LIST);        output.beginDiv(CssClass.PACKAGE_MENU_LIST);
# Line 714  public class HtmlDoclet Line 762  public class HtmlDoclet
762        Iterator it = packageDocs.iterator();        Iterator it = packageDocs.iterator();
763        while (it.hasNext()) {        while (it.hasNext()) {
764           PackageDoc packageDoc = (PackageDoc)it.next();           PackageDoc packageDoc = (PackageDoc)it.next();
765           output.beginDiv(CssClass.PACKAGE_MENU_ENTRY);           output.beginSpan(CssClass.PACKAGE_MENU_ENTRY);
766           output.beginAnchor(getPackageURL(packageDoc) + "classes" + filenameExtension,           output.beginAnchor(getPackageURL(packageDoc) + "/classes" + filenameExtension,
767                              null,                              null,
768                              "classes");                              "classes");
769           if (packageDoc.name().length() > 0) {           if (packageDoc.name().length() > 0) {
# Line 725  public class HtmlDoclet Line 773  public class HtmlDoclet
773              output.print("&lt;unnamed package&gt;");              output.print("&lt;unnamed package&gt;");
774           }           }
775           output.endAnchor();           output.endAnchor();
776           output.endDiv(CssClass.PACKAGE_MENU_ENTRY);           output.endSpan(CssClass.PACKAGE_MENU_ENTRY);
777             output.br();
778        }        }
779    
780        output.endDiv(CssClass.PACKAGE_MENU_LIST);        output.endDiv(CssClass.PACKAGE_MENU_LIST);
# Line 741  public class HtmlDoclet Line 790  public class HtmlDoclet
790        for (int i=0; i<classDocs.length; ++i) {        for (int i=0; i<classDocs.length; ++i) {
791           ClassDoc classDoc = classDocs[i];           ClassDoc classDoc = classDocs[i];
792           if (classDoc.isIncluded()) {           if (classDoc.isIncluded()) {
793              output.beginDiv(CssClass.CLASS_MENU_ENTRY);              CssClass entryClass;
794                if (classDoc.isInterface()) {
795                   entryClass = CssClass.CLASS_MENU_ENTRY_INTERFACE;        
796                }
797                else {
798                   entryClass = CssClass.CLASS_MENU_ENTRY_CLASS;
799                }
800                output.beginSpan(entryClass);
801              output.beginAnchor(getClassDocURL(output, classDoc),              output.beginAnchor(getClassDocURL(output, classDoc),
802                                 classDoc.qualifiedTypeName(),                                 classDoc.qualifiedTypeName(),
803                                 "content");                                 "content");
804              output.print(classDoc.name());              output.print(classDoc.name());
805              output.endAnchor();              output.endAnchor();
806              output.endDiv(CssClass.CLASS_MENU_ENTRY);              output.endSpan(entryClass);
807                output.br();
808           }           }
809        }        }
810    
# Line 901  public class HtmlDoclet Line 958  public class HtmlDoclet
958     private void printDeprecationSummary(HtmlPage output, List docs, String header)     private void printDeprecationSummary(HtmlPage output, List docs, String header)
959     {     {
960        if (!docs.isEmpty()) {        if (!docs.isEmpty()) {
961           output.beginTable(CssClass.DEPRECATION_SUMMARY);           output.beginTable(CssClass.DEPRECATION_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });
962           output.rowDiv(CssClass.TABLE_HEADER, header);           output.rowDiv(CssClass.TABLE_HEADER, header);
963    
964           Iterator it = docs.iterator();           Iterator it = docs.iterator();
# Line 933  public class HtmlDoclet Line 990  public class HtmlDoclet
990              output.endRow();              output.endRow();
991           }           }
992           output.endTable();           output.endTable();
993             output.print("\n");
994        }        }
995     }     }
996    
# Line 1137  public class HtmlDoclet Line 1195  public class HtmlDoclet
1195    
1196     private void printOverviewPackages(HtmlPage output, Collection packageDocs, String header)     private void printOverviewPackages(HtmlPage output, Collection packageDocs, String header)
1197     {     {
1198        output.beginTable(CssClass.OVERVIEW_SUMMARY);        output.endDiv(CssClass.TABLE_CONTAINER);
1199          output.beginTable(CssClass.OVERVIEW_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });
1200        output.rowDiv(CssClass.TABLE_HEADER, header);        output.rowDiv(CssClass.TABLE_HEADER, header);
1201    
1202        Iterator it = packageDocs.iterator();        Iterator it = packageDocs.iterator();
# Line 1146  public class HtmlDoclet Line 1205  public class HtmlDoclet
1205           output.beginRow();           output.beginRow();
1206                    
1207           output.beginCell(CssClass.OVERVIEW_SUMMARY_LEFT);           output.beginCell(CssClass.OVERVIEW_SUMMARY_LEFT);
1208           output.beginAnchor(getPackageURL(packageDoc) + "package-summary" + filenameExtension);           output.beginAnchor(getPackageURL(packageDoc) + "/package-summary" + filenameExtension);
1209           output.print(packageDoc.name());           output.print(packageDoc.name());
1210           output.endAnchor();           output.endAnchor();
1211           output.endCell();           output.endCell();
# Line 1157  public class HtmlDoclet Line 1216  public class HtmlDoclet
1216           output.endRow();           output.endRow();
1217        }        }
1218        output.endTable();        output.endTable();
1219          output.endDiv(CssClass.TABLE_CONTAINER);
1220     }     }
1221    
1222     private void printClassUsagePage(File packageDir, String pathToRoot, ClassDoc classDoc)     private void printClassUsagePage(File packageDir, String pathToRoot, ClassDoc classDoc)
# Line 1186  public class HtmlDoclet Line 1246  public class HtmlDoclet
1246              while (usageTypeIterator.hasNext()) {              while (usageTypeIterator.hasNext()) {
1247                 UsageType usageType = (UsageType)usageTypeIterator.next();                 UsageType usageType = (UsageType)usageTypeIterator.next();
1248                                
1249                 output.beginTable(CssClass.USAGE_SUMMARY);                 output.beginTable(CssClass.USAGE_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });
1250                 output.rowDiv(CssClass.TABLE_HEADER, format("usagetype." + usageType.getId(),                 output.rowDiv(CssClass.TABLE_HEADER, format("usagetype." + usageType.getId(),
1251                                                             classDoc.qualifiedName()));                                                             classDoc.qualifiedName()));
1252    
# Line 1253  public class HtmlDoclet Line 1313  public class HtmlDoclet
1313        output.close();        output.close();
1314     }     }
1315    
1316       private void printSuperTreeRec(HtmlPage output, ListIterator it)
1317       {
1318          if (it.hasPrevious()) {
1319             ClassDoc cd = (ClassDoc)it.previous();
1320             output.beginElement("li");
1321             if (it.hasPrevious()) {
1322                printType(output, cd, true);
1323             }
1324             else {
1325                output.print(cd.qualifiedTypeName());
1326             }
1327             output.endElement("li");
1328    
1329             if (it.hasPrevious()) {
1330                output.beginElement("ul");
1331                printSuperTreeRec(output, it);
1332                output.endElement("ul");
1333             }
1334          }
1335       }
1336    
1337     private void printClassPage(File packageDir, String pathToRoot, ClassDoc classDoc)     private void printClassPage(File packageDir, String pathToRoot, ClassDoc classDoc)
1338        throws IOException        throws IOException
1339     {     {
# Line 1271  public class HtmlDoclet Line 1352  public class HtmlDoclet
1352                   getClassTypeName(classDoc)                   getClassTypeName(classDoc)
1353                   + " " + classDoc.name());                   + " " + classDoc.name());
1354    
1355          LinkedList superClasses = new LinkedList();
1356          for (ClassDoc cd = classDoc; cd != null; cd = cd.superclass()) {
1357             superClasses.add(cd);
1358          }
1359          output.beginElement("ul");
1360          printSuperTreeRec(output, superClasses.listIterator(superClasses.size()));
1361          output.endElement("ul");
1362    
1363          if (null != classDoc.containingClass()) {
1364             output.beginDiv(CssClass.CLASS_ENCLOSINGCLASS);
1365             output.div(CssClass.CLASS_ENCLOSINGCLASS_HEADER, "Enclosing Class:");
1366             output.beginDiv(CssClass.CLASS_ENCLOSINGCLASS_ITEM);
1367             printType(output, classDoc.containingClass());
1368             output.endDiv(CssClass.CLASS_ENCLOSINGCLASS_ITEM);
1369             output.endDiv(CssClass.CLASS_ENCLOSINGCLASS);
1370          }
1371    
1372        List knownDirectSubclasses = getKnownDirectSubclasses(classDoc);        List knownDirectSubclasses = getKnownDirectSubclasses(classDoc);
1373        if (!knownDirectSubclasses.isEmpty()) {        if (!knownDirectSubclasses.isEmpty()) {
1374           output.beginDiv(CssClass.CLASS_SUBCLASSES);           output.beginDiv(CssClass.CLASS_SUBCLASSES);
1375           output.div(CssClass.CLASS_SUBCLASSES_HEADER, "Known Direct Subclasses:");           output.div(CssClass.CLASS_SUBCLASSES_HEADER, "Known Direct Subclasses:");
1376             output.beginDiv(CssClass.CLASS_SUBCLASSES_ITEM);
1377           Iterator it = knownDirectSubclasses.iterator();           Iterator it = knownDirectSubclasses.iterator();
1378           while (it.hasNext()) {           while (it.hasNext()) {
1379              printType(output, (ClassDoc)it.next());              printType(output, (ClassDoc)it.next());
# Line 1283  public class HtmlDoclet Line 1381  public class HtmlDoclet
1381                 output.print(", ");                 output.print(", ");
1382              }              }
1383           }           }
1384             output.endDiv(CssClass.CLASS_SUBCLASSES_ITEM);
1385           output.endDiv(CssClass.CLASS_SUBCLASSES_HEADER);           output.endDiv(CssClass.CLASS_SUBCLASSES_HEADER);
1386        }        }
1387    
# Line 1363  public class HtmlDoclet Line 1462  public class HtmlDoclet
1462                                        ProgramElementDoc[] memberDocs, String header)                                        ProgramElementDoc[] memberDocs, String header)
1463     {     {
1464        if (memberDocs.length > 0) {        if (memberDocs.length > 0) {
1465           output.beginTable(CssClass.CLASS_SUMMARY);           output.beginDiv(CssClass.TABLE_CONTAINER);
1466             output.beginTable(CssClass.CLASS_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });
1467           output.rowDiv(CssClass.TABLE_HEADER, header);           output.rowDiv(CssClass.TABLE_HEADER, header);
1468    
1469           output.beginRow();           output.beginRow();
# Line 1380  public class HtmlDoclet Line 1480  public class HtmlDoclet
1480           output.endCell();           output.endCell();
1481           output.endRow();           output.endRow();
1482           output.endTable();           output.endTable();
1483             output.endDiv(CssClass.TABLE_CONTAINER);
1484        }        }
1485     }     }
1486    
# Line 1426  public class HtmlDoclet Line 1527  public class HtmlDoclet
1527                 output.print(" ");                 output.print(" ");
1528                 printType(output, ((MethodDoc)memberDoc).returnType());                 printType(output, ((MethodDoc)memberDoc).returnType());
1529              }              }
1530                else if (memberDoc.isField()) {
1531                   output.print(" ");
1532                   printType(output, ((FieldDoc)memberDoc).type());
1533                }
1534              output.print(" ");              output.print(" ");
1535    
1536              if (optionLinkSource.getValue() && null != memberDoc.position()) {              if (optionLinkSource.getValue() && null != memberDoc.position()) {
# Line 1508  public class HtmlDoclet Line 1613  public class HtmlDoclet
1613                 ExecutableMemberDoc execMemberDoc                 ExecutableMemberDoc execMemberDoc
1614                    = (ExecutableMemberDoc)memberDoc;                    = (ExecutableMemberDoc)memberDoc;
1615    
1616                 Parameter[] parameters = execMemberDoc.parameters();                 if (execMemberDoc.paramTags().length > 0) {
                if (parameters.length > 0) {  
1617                    output.beginDiv(CssClass.MEMBER_DETAIL_PARAMETER_LIST);                    output.beginDiv(CssClass.MEMBER_DETAIL_PARAMETER_LIST);
1618                    output.div(CssClass.MEMBER_DETAIL_PARAMETER_HEADER, "Parameters:");                    output.div(CssClass.MEMBER_DETAIL_PARAMETER_HEADER, "Parameters:");
1619                      Parameter[] parameters = execMemberDoc.parameters();
1620                    for (int j=0; j<parameters.length; ++j) {                    for (int j=0; j<parameters.length; ++j) {
1621                       Parameter parameter = parameters[j];                       Parameter parameter = parameters[j];
1622                       ParamTag[] paramTags = execMemberDoc.paramTags();                       ParamTag[] paramTags = execMemberDoc.paramTags();
# Line 1522  public class HtmlDoclet Line 1627  public class HtmlDoclet
1627                             break;                             break;
1628                          }                          }
1629                       }                       }
1630                        
                      output.beginDiv(CssClass.MEMBER_DETAIL_PARAMETER_ITEM);  
                      output.print(parameter.name());  
1631                       if (null != paramTag) {                       if (null != paramTag) {
1632                            output.beginDiv(CssClass.MEMBER_DETAIL_PARAMETER_ITEM);
1633                            output.print(parameter.name());
1634                          output.print(" - ");                          output.print(" - ");
1635                          printTags(output, paramTag.inlineTags(), false);                          printTags(output, paramTag.inlineTags(), false);
1636                            output.endDiv(CssClass.MEMBER_DETAIL_PARAMETER_ITEM);
1637                       }                       }
                      output.endDiv(CssClass.MEMBER_DETAIL_PARAMETER_ITEM);  
1638                    }                    }
1639                    output.endDiv(CssClass.MEMBER_DETAIL_PARAMETER_LIST);                    output.endDiv(CssClass.MEMBER_DETAIL_PARAMETER_LIST);
1640                 }                 }
# Line 1578  public class HtmlDoclet Line 1683  public class HtmlDoclet
1683                 }                 }
1684              }              }
1685    
1686                if (memberDoc.isField()) {
1687                   FieldDoc fieldDoc = ((FieldDoc)memberDoc);
1688                   if (null != fieldDoc.constantValue()) {
1689                      output.beginDiv(CssClass.MEMBER_DETAIL_THROWN_LIST);
1690                      output.div(CssClass.MEMBER_DETAIL_THROWN_HEADER, "Field Value:");
1691                      output.div(CssClass.MEMBER_DETAIL_THROWN_ITEM,
1692                                 fieldDoc.constantValueExpression().toString());
1693                      output.endDiv(CssClass.MEMBER_DETAIL_THROWN_LIST);
1694                   }
1695                }
1696    
1697              TagletContext context;              TagletContext context;
1698              if (memberDoc.isField()) {              if (memberDoc.isField()) {
1699                 context = TagletContext.FIELD;                 context = TagletContext.FIELD;
# Line 1620  public class HtmlDoclet Line 1736  public class HtmlDoclet
1736                                          ProgramElementDoc[] memberDocs, String header)                                          ProgramElementDoc[] memberDocs, String header)
1737     {     {
1738        if (memberDocs.length > 0) {        if (memberDocs.length > 0) {
1739           output.beginTable(CssClass.CLASS_SUMMARY);           output.beginDiv(CssClass.TABLE_CONTAINER);
1740             output.beginTable(CssClass.CLASS_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" });
1741           output.rowDiv(CssClass.TABLE_HEADER, header);           output.rowDiv(CssClass.TABLE_HEADER, header);
1742    
1743           for (int i=0; i<memberDocs.length; ++i) {           for (int i=0; i<memberDocs.length; ++i) {
# Line 1638  public class HtmlDoclet Line 1755  public class HtmlDoclet
1755              output.endCell();              output.endCell();
1756    
1757              output.beginCell(CssClass.CLASS_SUMMARY_RIGHT);              output.beginCell(CssClass.CLASS_SUMMARY_RIGHT);
1758                output.beginDiv(CssClass.CLASS_SUMMARY_RIGHT_LIST);
1759                output.beginDiv(CssClass.CLASS_SUMMARY_RIGHT_SYNOPSIS);
1760              output.print(" ");              output.print(" ");
1761              output.beginAnchor("#" + getMemberAnchor(memberDoc));              output.beginAnchor("#" + getMemberAnchor(memberDoc));
1762              output.print(memberDoc.name());              output.print(memberDoc.name());
# Line 1645  public class HtmlDoclet Line 1764  public class HtmlDoclet
1764              if (memberDoc.isConstructor() || memberDoc.isMethod()) {              if (memberDoc.isConstructor() || memberDoc.isMethod()) {
1765                 printParameters(output, (ExecutableMemberDoc)memberDoc);                 printParameters(output, (ExecutableMemberDoc)memberDoc);
1766              }              }
1767              output.endCell();              output.endDiv(CssClass.CLASS_SUMMARY_RIGHT_SYNOPSIS);
1768              output.endRow();              output.beginDiv(CssClass.CLASS_SUMMARY_RIGHT_DESCRIPTION);
1769    
1770              output.beginRow();              Tag[] firstSentenceTags = memberDoc.firstSentenceTags();
1771              output.beginCell();              if (null != firstSentenceTags && firstSentenceTags.length > 0) {
1772              output.endCell();                 printTags(output, firstSentenceTags, true);
1773              output.beginCell();              }
1774              printTags(output, memberDoc.firstSentenceTags(), true);  
1775                output.endDiv(CssClass.CLASS_SUMMARY_RIGHT_DESCRIPTION);
1776                output.endDiv(CssClass.CLASS_SUMMARY_RIGHT_LIST);
1777              output.endCell();              output.endCell();
1778              output.endRow();              output.endRow();
1779           }           }
1780           output.endTable();           output.endTable();
1781             output.endDiv(CssClass.TABLE_CONTAINER);
1782        }        }
1783     }     }
1784    
# Line 1734  public class HtmlDoclet Line 1856  public class HtmlDoclet
1856        return output.getPathToRoot()        return output.getPathToRoot()
1857           + "/"           + "/"
1858           + getPackageURL(classDoc.containingPackage())           + getPackageURL(classDoc.containingPackage())
1859             + "/"
1860           + classDoc.name() + filenameExtension;           + classDoc.name() + filenameExtension;
1861     }     }
1862    
1863     private String getMemberDocURL(HtmlPage output, ProgramElementDoc memberDoc)     private String getMemberDocURL(HtmlPage output, ProgramElementDoc memberDoc)
1864     {     {
1865        ClassDoc classDoc = memberDoc.containingClass();        ClassDoc classDoc = memberDoc.containingClass();
1866        String result = output.getPathToRoot()        StringBuffer result = new StringBuffer(output.getPathToRoot());
1867           + "/"        result.append('/');
1868           + getPackageURL(classDoc.containingPackage())        result.append(getPackageURL(classDoc.containingPackage()));
1869           + classDoc.name() + filenameExtension + "#" + memberDoc.name();        result.append('/');
1870          result.append(classDoc.name());
1871          result.append(filenameExtension);
1872          result.append('#');
1873          result.append(memberDoc.name());
1874        if (memberDoc instanceof ExecutableMemberDoc) {        if (memberDoc instanceof ExecutableMemberDoc) {
1875           result += ((ExecutableMemberDoc)memberDoc).signature();           result.append(((ExecutableMemberDoc)memberDoc).signature());
1876        }        }
1877        return result;        return result.toString();
1878     }     }
1879    
1880     private void printType(HtmlPage output, Type type)     private void printType(HtmlPage output, Type type)
1881     {     {
1882          printType(output, type, false);
1883       }
1884    
1885       private void printType(HtmlPage output, Type type, boolean fullyQualified)
1886       {
1887        ClassDoc asClassDoc = type.asClassDoc();        ClassDoc asClassDoc = type.asClassDoc();
1888        String url = null;        String url = null;
1889        if (null != asClassDoc && asClassDoc.isIncluded()) {        if (null != asClassDoc && asClassDoc.isIncluded()) {
1890           url = getClassDocURL(output, asClassDoc);           url = getClassDocURL(output, asClassDoc);
1891        }        }
1892        else /* if (!type.isPrimitive()) */ {        else if (!type.isPrimitive()) {
1893           if (type.qualifiedTypeName().length() > type.typeName().length()) {           if (type.qualifiedTypeName().length() > type.typeName().length()) {
1894              String packageName = type.qualifiedTypeName();              String packageName = type.qualifiedTypeName();
1895              packageName = packageName.substring(0, packageName.length() - type.typeName().length() - 1);              packageName = packageName.substring(0, packageName.length() - type.typeName().length() - 1);
# Line 1776  public class HtmlDoclet Line 1908  public class HtmlDoclet
1908    
1909                
1910        if (null != url) {        if (null != url) {
1911           output.beginAnchor(url);           if (fullyQualified) {
1912           output.print(asClassDoc.name());              output.beginAnchor(url);
1913           output.endAnchor();              output.print(asClassDoc.qualifiedTypeName());
1914                output.endAnchor();
1915             }
1916             else {
1917                StringBuffer title = new StringBuffer();
1918                title.append(getClassTypeName(asClassDoc));
1919                title.append(" in ");
1920                title.append(asClassDoc.containingPackage().name());
1921                output.beginAnchor(url, title.toString());
1922                output.print(asClassDoc.name());
1923                output.endAnchor();
1924             }
1925           output.print(asClassDoc.dimension());           output.print(asClassDoc.dimension());
1926        }        }
1927        else {        else {
# Line 1790  public class HtmlDoclet Line 1933  public class HtmlDoclet
1933     {     {
1934        super.printTaglets(tags, context, new TagletPrinter() {        super.printTaglets(tags, context, new TagletPrinter() {
1935              public void printTagletString(String tagletString) {              public void printTagletString(String tagletString) {
1936                   output.beginDiv(CssClass.TAGLET);
1937                 output.print(tagletString);                 output.print(tagletString);
1938                   output.endDiv(CssClass.TAGLET);
1939              }              }
1940           });           });
1941     }     }
# Line 1798  public class HtmlDoclet Line 1943  public class HtmlDoclet
1943     private String getPackageURL(PackageDoc packageDoc)     private String getPackageURL(PackageDoc packageDoc)
1944     {     {
1945        if (packageDoc.name().length() > 0) {        if (packageDoc.name().length() > 0) {
1946           return packageDoc.name().replace('.', '/') + '/';           return packageDoc.name().replace('.', '/');
1947        }        }
1948        else {        else {
1949           return "";           return "";
# Line 1833  public class HtmlDoclet Line 1978  public class HtmlDoclet
1978           }           }
1979        }        }
1980    
1981        printNotice("Writing HTML overview file");        printNotice("Writing overview files...");
1982        printFrameSetPage();        printFrameSetPage();
1983        printPackagesMenuPage();        printPackagesMenuPage();
1984        printAllClassesMenuPage();        printAllClassesMenuPage();
1985        printOverviewPage();        printOverviewPage();
1986        printPackagesListFile();        printPackagesListFile();
1987        if (!optionNoTree.getValue()) {        if (!optionNoTree.getValue()) {
1988             printNotice("Writing full tree...");
1989           printFullTreePage();           printFullTreePage();
1990        }              }      
1991        if (!optionNoIndex.getValue()) {        if (!optionNoIndex.getValue()) {
1992             printNotice("Writing index...");
1993           if (!optionSplitIndex.getValue()) {           if (!optionSplitIndex.getValue()) {
1994              printIndexPage();              printIndexPage();
1995           }           }
# Line 1957  public class HtmlDoclet Line 2104  public class HtmlDoclet
2104     {     {
2105        StringBuffer result = new StringBuffer();        StringBuffer result = new StringBuffer();
2106        while (!subDir.equals(rootDir)) {        while (!subDir.equals(rootDir)) {
2107             if (result.length() > 0) {
2108                result.append("/");
2109             }
2110           subDir = subDir.getParentFile();           subDir = subDir.getParentFile();
2111           result.append("../");           result.append("..");
2112        }        }
2113        if (0 == result.length()) {        if (0 == result.length()) {
2114           result.append(".");           result.append(".");
# Line 1997  public class HtmlDoclet Line 2147  public class HtmlDoclet
2147    
2148     private String getFullModifiers(ProgramElementDoc memberDoc)     private String getFullModifiers(ProgramElementDoc memberDoc)
2149     {     {
2150        if (memberDoc.isClass() && ((ClassDoc)memberDoc).isAbstract()) {        StringBuffer result = new StringBuffer();
2151           return memberDoc.modifiers() + " abstract";        if (memberDoc.isPackagePrivate()) {
2152             result.append("(package private) ");
2153        }        }
2154        else {        result.append(memberDoc.modifiers());
2155           return memberDoc.modifiers();        if (memberDoc.isClass() && ((ClassDoc)memberDoc).isAbstract()) {
2156             result.append(" abstract");
2157        }        }
2158          return result.toString();
2159     }     }
2160    
2161     protected DocletOption[] getOptions()     protected DocletOption[] getOptions()

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26