111 |
= ("overview".equals(currentPage) |
= ("overview".equals(currentPage) |
112 |
|| "full-tree".equals(currentPage) |
|| "full-tree".equals(currentPage) |
113 |
|| "index".equals(currentPage) |
|| "index".equals(currentPage) |
114 |
|
|| "split-index".equals(currentPage) |
115 |
|| "serialized".equals(currentPage) |
|| "serialized".equals(currentPage) |
116 |
|| "deprecated".equals(currentPage) |
|| "deprecated".equals(currentPage) |
117 |
|
|| "about".equals(currentPage) |
118 |
); |
); |
119 |
|
|
120 |
if (!isSinglePackage()) { |
if (!isSinglePackage()) { |
188 |
output.print(" "); |
output.print(" "); |
189 |
|
|
190 |
if (null != currentClass) { |
if (null != currentClass) { |
191 |
output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED); |
if ("uses".equals(currentPage)) { |
192 |
output.beginAnchor(currentClass.name() + "-uses" + filenameExtension); |
output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
193 |
output.print("Use"); |
output.print("Use"); |
194 |
output.endAnchor(); |
output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
195 |
output.endSpan(CssClass.NAVBAR_ITEM_ENABLED); |
} |
196 |
|
else { |
197 |
|
output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED); |
198 |
|
output.beginAnchor(currentClass.name() + "-uses" + filenameExtension); |
199 |
|
output.print("Use"); |
200 |
|
output.endAnchor(); |
201 |
|
output.endSpan(CssClass.NAVBAR_ITEM_ENABLED); |
202 |
|
} |
203 |
} |
} |
204 |
else { |
else { |
205 |
output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED); |
output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED); |
211 |
if (optionLinkSource.getValue()) { |
if (optionLinkSource.getValue()) { |
212 |
output.print(" "); |
output.print(" "); |
213 |
|
|
214 |
if (null != currentClass) { |
|
215 |
output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED); |
if ("source".equals(currentPage)) { |
216 |
String targetClassName = currentClass.name(); |
output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
|
String targetAnchor = ""; |
|
|
if (null != currentClass.containingClass()) { |
|
|
targetClassName = getOuterClassDoc(currentClass).name(); |
|
|
targetAnchor = "#line." + currentClass.position().line(); |
|
|
} |
|
|
output.beginAnchor(targetClassName + "-source" + filenameExtension + targetAnchor); |
|
217 |
output.print("Source"); |
output.print("Source"); |
218 |
output.endAnchor(); |
output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
|
output.endSpan(CssClass.NAVBAR_ITEM_ENABLED); |
|
219 |
} |
} |
220 |
else { |
else { |
221 |
output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED); |
|
222 |
output.print("Source"); |
if (null != currentClass) { |
223 |
output.endSpan(CssClass.NAVBAR_ITEM_DISABLED); |
|
224 |
|
output.beginSpan(CssClass.NAVBAR_ITEM_ENABLED); |
225 |
|
String targetClassName = currentClass.name(); |
226 |
|
String targetAnchor = ""; |
227 |
|
if (null != currentClass.containingClass()) { |
228 |
|
targetClassName = getOuterClassDoc(currentClass).name(); |
229 |
|
targetAnchor = "#line." + currentClass.position().line(); |
230 |
|
} |
231 |
|
output.beginAnchor(targetClassName + "-source" + filenameExtension + targetAnchor); |
232 |
|
output.print("Source"); |
233 |
|
output.endAnchor(); |
234 |
|
output.endSpan(CssClass.NAVBAR_ITEM_ENABLED); |
235 |
|
} |
236 |
|
else { |
237 |
|
output.beginSpan(CssClass.NAVBAR_ITEM_DISABLED); |
238 |
|
output.print("Source"); |
239 |
|
output.endSpan(CssClass.NAVBAR_ITEM_DISABLED); |
240 |
|
} |
241 |
} |
} |
242 |
} |
} |
243 |
} |
} |
279 |
indexName = "alphaindex"; |
indexName = "alphaindex"; |
280 |
} |
} |
281 |
|
|
282 |
if ("index".equals(currentPage)) { |
if ("index".equals(currentPage) || "split-index".equals(currentPage)) { |
283 |
output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
output.beginSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
284 |
output.print("Index"); |
output.print("Index"); |
285 |
output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
output.endSpan(CssClass.NAVBAR_ITEM_ACTIVE); |
353 |
printNavBar(output, currentPage, currentClass); |
printNavBar(output, currentPage, currentClass); |
354 |
output.endCell(); |
output.endCell(); |
355 |
if (null != optionHeader.getValue()) { |
if (null != optionHeader.getValue()) { |
356 |
output.beginCell(); |
output.beginCell(CssClass.NAVBAR_TOP_HEADER); |
357 |
output.print(replaceDocRoot(output, optionHeader.getValue())); |
output.print(replaceDocRoot(output, optionHeader.getValue())); |
358 |
output.endCell(); |
output.endCell(); |
359 |
} |
} |
363 |
private void printNavBarTopNaviCell(HtmlPage output) |
private void printNavBarTopNaviCell(HtmlPage output) |
364 |
{ |
{ |
365 |
output.beginCell(CssClass.NAVBAR_TOP_NAVI); |
output.beginCell(CssClass.NAVBAR_TOP_NAVI); |
366 |
output.beginAnchor(output.getPathToRoot() + "/index" + filenameExtension, "Show this documentation set in a frameset", "_top"); |
output.beginAnchor(output.getPathToRoot() + "/index" + filenameExtension, "Show in a frameset", "_top"); |
367 |
output.print("Frames"); |
output.print("Frames"); |
368 |
output.endAnchor(); |
output.endAnchor(); |
369 |
output.print(" | "); |
output.print(" | "); |
|
String noFramesHref; |
|
|
if (isSinglePackage()) { |
|
|
noFramesHref = output.getPathToRoot() |
|
|
+ "/" + getPackageURL(getSinglePackage()) |
|
|
+ "/package-summary" + filenameExtension; |
|
|
} |
|
|
else { |
|
|
noFramesHref = output.getPathToRoot() |
|
|
+ "/index-noframes" + filenameExtension; |
|
|
} |
|
370 |
|
|
371 |
output.beginAnchor(noFramesHref, "Show the overview page without frames", "_top"); |
output.beginAnchor(output.getFile().getName(), "Show without frames", "_top"); |
372 |
output.print("No Frames"); |
output.print("No Frames"); |
373 |
output.endAnchor(); |
output.endAnchor(); |
374 |
output.print(" "); |
output.print(" "); |
382 |
} |
} |
383 |
|
|
384 |
private void printNavBarTop(HtmlPage output, String currentPage, |
private void printNavBarTop(HtmlPage output, String currentPage, |
385 |
ClassDoc currentClass, ClassDoc prevClass, ClassDoc nextClass) |
ClassDoc currentClass, Object prev, Object next) |
386 |
{ |
{ |
387 |
if (!optionNoNavBar.getValue()) { |
if (!optionNoNavBar.getValue()) { |
388 |
output.beginTable(CssClass.NAVBAR_TOP); |
output.beginTable(CssClass.NAVBAR_TOP); |
390 |
output.beginRow(); |
output.beginRow(); |
391 |
if ("class".equals(currentPage)) { |
if ("class".equals(currentPage)) { |
392 |
output.beginCell(CssClass.NAVBAR_TOP_NAVI); |
output.beginCell(CssClass.NAVBAR_TOP_NAVI); |
393 |
|
ClassDoc prevClass = (ClassDoc)prev; |
394 |
|
ClassDoc nextClass = (ClassDoc)next; |
395 |
if (null != prevClass) { |
if (null != prevClass) { |
396 |
output.anchor(getClassDocURL(output, prevClass), "Prev Class"); |
output.anchor(getClassDocURL(output, prevClass), "Prev Class"); |
397 |
} |
} |
407 |
} |
} |
408 |
output.endCell(); |
output.endCell(); |
409 |
} |
} |
410 |
|
else if ("split-index".equals(currentPage)) { |
411 |
|
output.beginCell(CssClass.NAVBAR_TOP_NAVI); |
412 |
|
Integer prevLetter = (Integer)prev; |
413 |
|
Integer nextLetter = (Integer)next; |
414 |
|
if (null != prevLetter) { |
415 |
|
output.anchor("alphaindex-" + prevLetter + filenameExtension, "Prev Letter"); |
416 |
|
} |
417 |
|
else { |
418 |
|
output.print("Prev Letter"); |
419 |
|
} |
420 |
|
output.print(" | "); |
421 |
|
if (null != nextLetter) { |
422 |
|
output.anchor("alphaindex-" + nextLetter + filenameExtension, "Next Letter"); |
423 |
|
} |
424 |
|
else { |
425 |
|
output.print("Next Letter"); |
426 |
|
} |
427 |
|
output.endCell(); |
428 |
|
} |
429 |
else { |
else { |
430 |
output.beginCell(CssClass.NAVBAR_TOP_NAVI); |
output.beginCell(CssClass.NAVBAR_TOP_NAVI); |
431 |
output.endCell(); |
output.endCell(); |
462 |
output.anchor("#summary-methods", "Method"); |
output.anchor("#summary-methods", "Method"); |
463 |
} |
} |
464 |
else { |
else { |
465 |
output.print("Methods"); |
output.print("Method"); |
466 |
} |
} |
467 |
|
|
468 |
output.print(" | "); |
output.print(" | "); |
768 |
private void printPackageTreeRec(HtmlPage output, TreeNode node, TreeNode parentNode) |
private void printPackageTreeRec(HtmlPage output, TreeNode node, TreeNode parentNode) |
769 |
{ |
{ |
770 |
output.beginElement("li"); |
output.beginElement("li"); |
771 |
|
output.beginElement("div"); |
772 |
if (node.classDoc.isIncluded()) { |
if (node.classDoc.isIncluded()) { |
773 |
output.print(node.classDoc.containingPackage().name()); |
output.print(node.classDoc.containingPackage().name()); |
774 |
output.print("."); |
output.print("."); |
785 |
parentClassDoc = parentNode.classDoc; |
parentClassDoc = parentNode.classDoc; |
786 |
} |
} |
787 |
if (interfaces.length > 0 |
if (interfaces.length > 0 |
788 |
&& !interfaces[0].equals(parentClassDoc)) { |
&& !(interfaces.length == 1 && interfaces[0].equals(parentClassDoc))) { |
789 |
if (node.classDoc.isInterface()) { |
if (node.classDoc.isInterface()) { |
790 |
output.print(" (also implements "); |
output.print(" (also implements "); |
791 |
} |
} |
814 |
output.print(")"); |
output.print(")"); |
815 |
} |
} |
816 |
|
|
817 |
|
output.endElement("div"); |
818 |
output.endElement("li"); |
output.endElement("li"); |
819 |
output.beginElement("ul"); |
output.beginElement("ul"); |
820 |
Iterator it = node.children.iterator(); |
Iterator it = node.children.iterator(); |
839 |
TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object"); |
TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object"); |
840 |
if (null != root) { |
if (null != root) { |
841 |
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy"); |
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy"); |
842 |
output.beginElement("ul"); |
output.beginDiv(CssClass.PACKAGE_TREE); |
843 |
printPackageTreeRec(output, root, null); |
printPackageTreeRec(output, root, null); |
844 |
output.endElement("ul"); |
output.endDiv(CssClass.PACKAGE_TREE); |
845 |
} |
} |
846 |
} |
} |
847 |
|
|
861 |
Iterator it = interfaceRoot.children.iterator(); |
Iterator it = interfaceRoot.children.iterator(); |
862 |
if (it.hasNext()) { |
if (it.hasNext()) { |
863 |
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy"); |
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy"); |
864 |
output.beginElement("ul"); |
output.beginDiv(CssClass.PACKAGE_TREE); |
865 |
while (it.hasNext()) { |
while (it.hasNext()) { |
866 |
TreeNode node = (TreeNode)it.next(); |
TreeNode node = (TreeNode)it.next(); |
867 |
printPackageTreeRec(output, node, null); |
printPackageTreeRec(output, node, null); |
868 |
} |
} |
869 |
output.endElement("ul"); |
output.endDiv(CssClass.PACKAGE_TREE); |
870 |
} |
} |
871 |
} |
} |
872 |
|
|
938 |
private void printIndexEntry(HtmlPage output, Doc entry) |
private void printIndexEntry(HtmlPage output, Doc entry) |
939 |
{ |
{ |
940 |
output.beginDiv(CssClass.INDEX_ENTRY); |
output.beginDiv(CssClass.INDEX_ENTRY); |
941 |
|
output.beginDiv(CssClass.INDEX_ENTRY_KEY); |
942 |
String anchor = null; |
String anchor = null; |
943 |
String description = null; |
String description = null; |
944 |
if (entry instanceof PackageDoc) { |
if (entry instanceof PackageDoc) { |
1003 |
} |
} |
1004 |
printType(output, containingClass); |
printType(output, containingClass); |
1005 |
} |
} |
1006 |
|
output.endDiv(CssClass.INDEX_ENTRY_KEY); |
1007 |
output.beginDiv(CssClass.INDEX_ENTRY_DESCRIPTION); |
output.beginDiv(CssClass.INDEX_ENTRY_DESCRIPTION); |
1008 |
printTags(output, entry, entry.firstSentenceTags(), true); |
printTags(output, entry, entry.firstSentenceTags(), true); |
1009 |
output.endDiv(CssClass.INDEX_ENTRY_DESCRIPTION); |
output.endDiv(CssClass.INDEX_ENTRY_DESCRIPTION); |
1223 |
Map categorizedIndex = getCategorizedIndex(); |
Map categorizedIndex = getCategorizedIndex(); |
1224 |
Iterator it = categorizedIndex.keySet().iterator(); |
Iterator it = categorizedIndex.keySet().iterator(); |
1225 |
int n = 1; |
int n = 1; |
1226 |
|
int count = categorizedIndex.size(); |
1227 |
while (it.hasNext()) { |
while (it.hasNext()) { |
1228 |
Character c = (Character)it.next(); |
Character c = (Character)it.next(); |
1229 |
List classList = (List)categorizedIndex.get(c); |
List classList = (List)categorizedIndex.get(c); |
1230 |
printIndexPage(n++, c, classList); |
printIndexPage(n++, count, c, classList); |
1231 |
} |
} |
1232 |
} |
} |
1233 |
|
|
1234 |
private void printIndexPage() |
private void printIndexPage() |
1235 |
throws IOException |
throws IOException |
1236 |
{ |
{ |
1237 |
printIndexPage(0, null, null); |
printIndexPage(0, 0, null, null); |
1238 |
} |
} |
1239 |
|
|
1240 |
private void printIndexPage(int index, Character letter, List classList) |
private void printIndexPage(int index, int maxIndex, Character letter, List classList) |
1241 |
throws IOException |
throws IOException |
1242 |
{ |
{ |
1243 |
String pageName = "alphaindex"; |
String pageName = "alphaindex"; |
1250 |
getOutputDocEncoding()); |
getOutputDocEncoding()); |
1251 |
output.beginPage(getPageTitle("Alphabetical Index"), getOutputCharset()); |
output.beginPage(getPageTitle("Alphabetical Index"), getOutputCharset()); |
1252 |
output.beginBody(CssClass.BODY_CONTENT_INDEX); |
output.beginBody(CssClass.BODY_CONTENT_INDEX); |
1253 |
printNavBarTop(output, "index"); |
if (null == letter) { |
1254 |
|
printNavBarTop(output, "index"); |
1255 |
|
} |
1256 |
|
else { |
1257 |
|
printNavBarTop(output, "split-index", null, |
1258 |
|
(index > 1) ? new Integer(index - 1) : null, |
1259 |
|
(index < maxIndex) ? new Integer(index + 1) : null); |
1260 |
|
} |
1261 |
|
|
1262 |
{ |
{ |
1263 |
output.div(CssClass.INDEX_TITLE, "Alphabetical Index"); |
String title; |
1264 |
|
if (null == letter) { |
1265 |
|
title = "Alphabetical Index"; |
1266 |
|
} |
1267 |
|
else { |
1268 |
|
title = "Alphabetical Index: " + letter; |
1269 |
|
} |
1270 |
|
output.div(CssClass.INDEX_TITLE, title); |
1271 |
|
|
1272 |
output.beginDiv(CssClass.INDEX_LETTERS); |
output.beginDiv(CssClass.INDEX_LETTERS); |
1273 |
|
|
1561 |
} |
} |
1562 |
output.endDiv(CssClass.DEPRECATION_TOC_LIST); |
output.endDiv(CssClass.DEPRECATION_TOC_LIST); |
1563 |
output.endDiv(CssClass.DEPRECATION_TOC); |
output.endDiv(CssClass.DEPRECATION_TOC); |
1564 |
|
output.beginDiv(CssClass.DEPRECATION_LIST); |
1565 |
|
|
1566 |
output.anchorName("interfaces"); |
output.anchorName("interfaces"); |
1567 |
printDeprecationSummary(output, deprecatedInterfaces, "Deprecated Interfaces"); |
printDeprecationSummary(output, deprecatedInterfaces, "Deprecated Interfaces"); |
1583 |
|
|
1584 |
output.anchorName("constructors"); |
output.anchorName("constructors"); |
1585 |
printDeprecationSummary(output, deprecatedConstructors, "Deprecated Constructors"); |
printDeprecationSummary(output, deprecatedConstructors, "Deprecated Constructors"); |
1586 |
|
|
1587 |
|
output.endDiv(CssClass.DEPRECATION_LIST); |
1588 |
} |
} |
1589 |
else { |
else { |
1590 |
output.beginDiv(CssClass.DEPRECATION_EMPTY); |
output.beginDiv(CssClass.DEPRECATION_EMPTY); |
1611 |
|
|
1612 |
printNavBarTop(output, "about"); |
printNavBarTop(output, "about"); |
1613 |
|
|
1614 |
|
output.div(CssClass.ABOUT_TITLE, "About"); |
1615 |
|
|
1616 |
output.beginDiv(CssClass.ABOUT_GENERATOR); |
output.beginDiv(CssClass.ABOUT_GENERATOR); |
1617 |
output.print("Generated by "); |
output.print("Generated by "); |
1618 |
output.print("GNU Gjdoc"); |
output.print("Gjdoc"); |
1619 |
output.print(" Standard Doclet "); |
output.print(" HtmlDoclet "); |
1620 |
output.print(getDocletVersion()); |
output.print(getDocletVersion()); |
1621 |
output.print(", part of "); |
output.print(", part of "); |
1622 |
output.anchor("http://www.gnu.org/software/classpath/cp-tools/", "GNU Classpath Tools"); |
output.beginAnchor("http://www.gnu.org/software/classpath/cp-tools/", "", "_top"); |
1623 |
|
output.print("GNU Classpath Tools"); |
1624 |
|
output.endAnchor(); |
1625 |
output.endDiv(CssClass.ABOUT_GENERATOR); |
output.endDiv(CssClass.ABOUT_GENERATOR); |
1626 |
|
|
1627 |
printNavBarBottom(output, "about"); |
printNavBarBottom(output, "about"); |
1631 |
output.close(); |
output.close(); |
1632 |
} |
} |
1633 |
|
|
1634 |
|
private void printSourcePage(File packageDir, ClassDoc classDoc, String sourceXhtml) |
1635 |
|
throws IOException |
1636 |
|
{ |
1637 |
|
HtmlPage output = new HtmlPage(new File(packageDir, |
1638 |
|
classDoc.name() + "-source" + filenameExtension), |
1639 |
|
getPathToRoot(packageDir, getTargetDirectory()), |
1640 |
|
getOutputDocEncoding()); |
1641 |
|
output.beginPage(getPageTitle("Source for " + classDoc.qualifiedTypeName()), getOutputCharset()); |
1642 |
|
|
1643 |
|
output.beginBody(CssClass.BODY_CONTENT_SOURCE); |
1644 |
|
|
1645 |
|
printNavBarTop(output, "source", classDoc, null, null); |
1646 |
|
|
1647 |
|
output.div(CssClass.SOURCE_TITLE, "Source for " + classDoc.qualifiedTypeName()); |
1648 |
|
output.beginDiv(CssClass.SOURCE); |
1649 |
|
output.print(sourceXhtml); |
1650 |
|
output.endDiv(CssClass.SOURCE); |
1651 |
|
|
1652 |
|
printNavBarBottom(output, "about"); |
1653 |
|
|
1654 |
|
output.endBody(); |
1655 |
|
output.endPage(); |
1656 |
|
|
1657 |
|
output.close(); |
1658 |
|
} |
1659 |
|
|
1660 |
private void printHelpPage() |
private void printHelpPage() |
1661 |
throws IOException |
throws IOException |
1662 |
{ |
{ |
1796 |
output.beginBody(CssClass.BODY_CONTENT_USES); |
output.beginBody(CssClass.BODY_CONTENT_USES); |
1797 |
printNavBarTop(output, "uses", classDoc, null, null); |
printNavBarTop(output, "uses", classDoc, null, null); |
1798 |
|
|
1799 |
output.div(CssClass.USAGE_TITLE, "Uses of class " + classDoc.qualifiedName()); |
output.div(CssClass.USAGE_TITLE, |
1800 |
|
"Uses of " + getClassTypeName(classDoc) |
1801 |
|
+ " " + classDoc.qualifiedName()); |
1802 |
|
|
1803 |
Map packageToUsageTypeMap = getUsageOfClass(classDoc); |
Map packageToUsageTypeMap = getUsageOfClass(classDoc); |
1804 |
if (null != packageToUsageTypeMap) { |
if (null != packageToUsageTypeMap && !packageToUsageTypeMap.isEmpty()) { |
1805 |
|
|
1806 |
Iterator packagesIterator = packageToUsageTypeMap.keySet().iterator(); |
Iterator packagesIterator = packageToUsageTypeMap.keySet().iterator(); |
1807 |
while (packagesIterator.hasNext()) { |
while (packagesIterator.hasNext()) { |
1816 |
|
|
1817 |
output.endDiv(CssClass.TABLE_CONTAINER); |
output.endDiv(CssClass.TABLE_CONTAINER); |
1818 |
output.beginTable(CssClass.USAGE_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" }); |
output.beginTable(CssClass.USAGE_SUMMARY, new String[] { "border", "width" }, new String[] { "1", "100%" }); |
1819 |
output.rowDiv(CssClass.TABLE_HEADER, format("usagetype." + usageType.getId(), |
output.rowDiv(CssClass.USAGE_TABLE_HEADER, format("usagetype." + usageType.getId(), |
1820 |
classDoc.qualifiedName())); |
classDoc.qualifiedName())); |
1821 |
|
|
1822 |
Set users = (Set)usageTypeToUsersMap.get(usageType); |
Set users = (Set)usageTypeToUsersMap.get(usageType); |
1823 |
Iterator userIterator = users.iterator(); |
Iterator userIterator = users.iterator(); |
1843 |
output.endCell(); |
output.endCell(); |
1844 |
|
|
1845 |
output.beginCell(CssClass.USAGE_SUMMARY_RIGHT); |
output.beginCell(CssClass.USAGE_SUMMARY_RIGHT); |
1846 |
|
printType(output, ((FieldDoc)user).containingClass()); |
1847 |
|
output.print("."); |
1848 |
output.beginAnchor(getMemberDocURL(output, (FieldDoc)user)); |
output.beginAnchor(getMemberDocURL(output, (FieldDoc)user)); |
1849 |
output.print(((FieldDoc)user).name()); |
output.print(((FieldDoc)user).name()); |
1850 |
output.endAnchor(); |
output.endAnchor(); |
1858 |
output.endCell(); |
output.endCell(); |
1859 |
|
|
1860 |
output.beginCell(CssClass.USAGE_SUMMARY_RIGHT); |
output.beginCell(CssClass.USAGE_SUMMARY_RIGHT); |
1861 |
|
printType(output, ((MethodDoc)user).containingClass()); |
1862 |
|
output.print("."); |
1863 |
output.beginAnchor(getMemberDocURL(output, (MethodDoc)user)); |
output.beginAnchor(getMemberDocURL(output, (MethodDoc)user)); |
1864 |
output.print(((MethodDoc)user).name()); |
output.print(((MethodDoc)user).name()); |
1865 |
output.endAnchor(); |
output.endAnchor(); |
1869 |
else if (user instanceof ConstructorDoc) { |
else if (user instanceof ConstructorDoc) { |
1870 |
ConstructorDoc constructorDoc = (ConstructorDoc)user; |
ConstructorDoc constructorDoc = (ConstructorDoc)user; |
1871 |
|
|
|
output.beginCell(CssClass.USAGE_SUMMARY_LEFT); |
|
|
output.endCell(); |
|
|
|
|
1872 |
output.beginCell(CssClass.USAGE_SUMMARY_RIGHT); |
output.beginCell(CssClass.USAGE_SUMMARY_RIGHT); |
1873 |
|
printType(output, ((ConstructorDoc)user).containingClass()); |
1874 |
|
output.print("."); |
1875 |
output.beginAnchor(getMemberDocURL(output, (ConstructorDoc)user)); |
output.beginAnchor(getMemberDocURL(output, (ConstructorDoc)user)); |
1876 |
output.print(((ConstructorDoc)user).name()); |
output.print(((ConstructorDoc)user).name()); |
1877 |
output.endAnchor(); |
output.endAnchor(); |
1885 |
} |
} |
1886 |
} |
} |
1887 |
} |
} |
1888 |
|
else { |
1889 |
|
output.div(CssClass.USAGE_EMPTY, |
1890 |
|
getClassTypeName(classDoc) |
1891 |
|
+ " " + classDoc.qualifiedName() + " is not used by any class in this documentation set."); |
1892 |
|
} |
1893 |
printNavBarBottom(output, "uses", classDoc); |
printNavBarBottom(output, "uses", classDoc); |
1894 |
output.endBody(); |
output.endBody(); |
1895 |
output.endPage(); |
output.endPage(); |
1992 |
+ " " + classDoc.name()); |
+ " " + classDoc.name()); |
1993 |
output.endDiv(CssClass.CLASS_TITLE); |
output.endDiv(CssClass.CLASS_TITLE); |
1994 |
|
|
1995 |
|
boolean needSep = false; |
1996 |
|
|
1997 |
if (classDoc.isInterface()) { |
if (classDoc.isInterface()) { |
1998 |
|
|
1999 |
InterfaceRelation relation |
InterfaceRelation relation |
2013 |
relation.implementingClasses, |
relation.implementingClasses, |
2014 |
"Known Implementing Classes:", |
"Known Implementing Classes:", |
2015 |
CssClass.CLASS_KNOWNIMPLEMENTING); |
CssClass.CLASS_KNOWNIMPLEMENTING); |
2016 |
|
|
2017 |
|
needSep = !relation.superInterfaces.isEmpty() |
2018 |
|
|| !relation.subInterfaces.isEmpty() |
2019 |
|
|| !relation.implementingClasses.isEmpty(); |
2020 |
} |
} |
2021 |
else { |
else { |
2022 |
|
needSep = true; |
2023 |
|
|
2024 |
LinkedList superClasses = new LinkedList(); |
LinkedList superClasses = new LinkedList(); |
2025 |
for (ClassDoc cd = classDoc; cd != null; cd = cd.superclass()) { |
for (ClassDoc cd = classDoc; cd != null; cd = cd.superclass()) { |
2026 |
superClasses.add(cd); |
superClasses.add(cd); |
2066 |
} |
} |
2067 |
} |
} |
2068 |
|
|
2069 |
output.hr(); |
if (needSep) { |
2070 |
|
output.hr(); |
2071 |
|
} |
2072 |
|
|
2073 |
output.beginDiv(CssClass.CLASS_SYNOPSIS); |
output.beginDiv(CssClass.CLASS_SYNOPSIS); |
2074 |
output.beginDiv(CssClass.CLASS_SYNOPSIS_DECLARATION); |
output.beginDiv(CssClass.CLASS_SYNOPSIS_DECLARATION); |
2141 |
} |
} |
2142 |
} |
} |
2143 |
|
|
2144 |
ClassDoc superClassDoc = classDoc.superclass(); |
if (!classDoc.isInterface()) { |
2145 |
while (null != superClassDoc |
ClassDoc superClassDoc = classDoc.superclass(); |
2146 |
&& (!haveInheritedFields |
while (null != superClassDoc |
2147 |
|| !haveInheritedMethods |
&& (!haveInheritedFields |
2148 |
|| !haveInheritedClasses)) { |
|| !haveInheritedMethods |
2149 |
if (superClassDoc.fields().length > 0) { |
|| !haveInheritedClasses)) { |
2150 |
haveInheritedFields = true; |
if (superClassDoc.fields().length > 0) { |
2151 |
} |
haveInheritedFields = true; |
2152 |
if (superClassDoc.methods().length > 0) { |
} |
2153 |
haveInheritedMethods = true; |
if (superClassDoc.methods().length > 0) { |
2154 |
} |
haveInheritedMethods = true; |
2155 |
if (superClassDoc.innerClasses().length > 0) { |
} |
2156 |
haveInheritedClasses = true; |
if (superClassDoc.innerClasses().length > 0) { |
2157 |
|
haveInheritedClasses = true; |
2158 |
|
} |
2159 |
|
superClassDoc = superClassDoc.superclass(); |
2160 |
} |
} |
|
superClassDoc = superClassDoc.superclass(); |
|
2161 |
} |
} |
2162 |
} |
} |
2163 |
|
|
3055 |
sourceReader.close(); |
sourceReader.close(); |
3056 |
String result = java2xhtml.makeHTML(sourceBuffer.getBuffer(), sourceFile.getName()); |
String result = java2xhtml.makeHTML(sourceBuffer.getBuffer(), sourceFile.getName()); |
3057 |
|
|
3058 |
File targetFile = new File(packageDir, |
printSourcePage(packageDir, |
3059 |
classDoc.name() + "-source" + filenameExtension); |
classDoc, |
3060 |
FileWriter targetWriter = new FileWriter(targetFile); |
result); |
|
targetWriter.write(result); |
|
|
targetWriter.close(); |
|
3061 |
} |
} |
3062 |
catch (IOException e) { |
catch (IOException e) { |
3063 |
printWarning("Cannot locate source file for class " + classDoc.qualifiedTypeName()); |
printWarning("Cannot locate source file for class " + classDoc.qualifiedTypeName()); |