6786688: Javadoc HTML WCAG 2.0 accessibility issues in standard doclet - Table must have captions and headers
Reviewed-by: jjg
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -60,7 +60,11 @@
/*** abstracts ***/
- public abstract void printSummaryLabel(ClassDoc cd);
+ public abstract void printSummaryLabel();
+
+ public abstract void printTableSummary();
+
+ public abstract void printSummaryTableHeader(ProgramElementDoc member);
public abstract void printInheritedSummaryLabel(ClassDoc cd);
@@ -342,12 +346,13 @@
* format for listing the API. Call methods from the sub-class to complete
* the generation.
*/
- protected void printDeprecatedAPI(List<Doc> deprmembers, String headingKey) {
+ protected void printDeprecatedAPI(List<Doc> deprmembers, String headingKey, String tableSummary, String[] tableHeader) {
if (deprmembers.size() > 0) {
- writer.tableIndexSummary();
- writer.tableHeaderStart("#CCCCFF");
- writer.strongText(headingKey);
- writer.tableHeaderEnd();
+ writer.tableIndexSummary(tableSummary);
+ writer.tableCaptionStart();
+ writer.printText(headingKey);
+ writer.tableCaptionEnd();
+ writer.summaryTableHeader(tableHeader, "col");
for (int i = 0; i < deprmembers.size(); i++) {
ProgramElementDoc member =(ProgramElementDoc)deprmembers.get(i);
writer.trBgcolorStyle("white", "TableRowColor");
@@ -370,19 +375,26 @@
/**
* Print use info.
*/
- protected void printUseInfo(List<? extends ProgramElementDoc> mems, String heading) {
+ protected void printUseInfo(List<? extends ProgramElementDoc> mems, String heading, String tableSummary) {
if (mems == null) {
return;
}
List<? extends ProgramElementDoc> members = mems;
+ boolean printedUseTableHeader = false;
if (members.size() > 0) {
- writer.tableIndexSummary();
- writer.tableUseInfoHeaderStart("#CCCCFF");
+ writer.tableIndexSummary(tableSummary);
+ writer.tableSubCaptionStart();
writer.print(heading);
- writer.tableHeaderEnd();
+ writer.tableCaptionEnd();
for (Iterator<? extends ProgramElementDoc> it = members.iterator(); it.hasNext(); ) {
ProgramElementDoc pgmdoc = it.next();
ClassDoc cd = pgmdoc.containingClass();
+ if (!printedUseTableHeader) {
+ // Passing ProgramElementDoc helps decides printing
+ // interface or class header in case of nested classes.
+ this.printSummaryTableHeader(pgmdoc);
+ printedUseTableHeader = true;
+ }
writer.printSummaryLinkType(this, pgmdoc);
if (cd != null && !(pgmdoc instanceof ConstructorDoc)
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -35,6 +35,7 @@
* generate overview-frame.html as well as overview-summary.html.
*
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public abstract class AbstractPackageIndexWriter extends HtmlDocletWriter {
@@ -61,7 +62,7 @@
protected abstract void printOverviewHeader();
- protected abstract void printIndexHeader(String text);
+ protected abstract void printIndexHeader(String text, String tableSummary);
protected abstract void printIndexRow(PackageDoc pkg);
@@ -101,7 +102,10 @@
* Generate the frame or non-frame package index.
*/
protected void generateIndex() {
- printIndexContents(packages, "doclet.Package_Summary");
+ printIndexContents(packages, "doclet.Package_Summary",
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText("doclet.Package_Summary"),
+ configuration.getText("doclet.packages")));
}
/**
@@ -111,10 +115,10 @@
* @param packages Array of packages to be documented.
* @param text String which will be used as the heading.
*/
- protected void printIndexContents(PackageDoc[] packages, String text) {
+ protected void printIndexContents(PackageDoc[] packages, String text, String tableSummary) {
if (packages.length > 0) {
Arrays.sort(packages);
- printIndexHeader(text);
+ printIndexHeader(text, tableSummary);
printAllClassesPackagesLink();
for(int i = 0; i < packages.length; i++) {
if (packages[i] != null) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -34,6 +34,7 @@
* Writes annotation type optional member documentation in HTML format.
*
* @author Jamie Ho
+ * @author Bhavesh Patel (Modified)
*/
public class AnnotationTypeOptionalMemberWriterImpl extends
AnnotationTypeRequiredMemberWriterImpl
@@ -89,8 +90,27 @@
/**
* {@inheritDoc}
*/
- public void printSummaryLabel(ClassDoc cd) {
- writer.strongText("doclet.Annotation_Type_Optional_Member_Summary");
+ public void printSummaryLabel() {
+ writer.printText("doclet.Annotation_Type_Optional_Member_Summary");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void printTableSummary() {
+ writer.tableIndexSummary(configuration().getText("doclet.Member_Table_Summary",
+ configuration().getText("doclet.Annotation_Type_Optional_Member_Summary"),
+ configuration().getText("doclet.annotation_type_optional_members")));
+ }
+
+ public void printSummaryTableHeader(ProgramElementDoc member) {
+ String[] header = new String[] {
+ writer.getModifierTypeHeader(),
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Annotation_Type_Optional_Member"),
+ configuration().getText("doclet.Description"))
+ };
+ writer.summaryTableHeader(header, "col");
}
/**
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -34,6 +34,7 @@
* Writes annotation type required member documentation in HTML format.
*
* @author Jamie Ho
+ * @author Bhavesh Patel (Modified)
*/
public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
implements AnnotationTypeRequiredMemberWriter, MemberSummaryWriter {
@@ -178,8 +179,27 @@
/**
* {@inheritDoc}
*/
- public void printSummaryLabel(ClassDoc cd) {
- writer.strongText("doclet.Annotation_Type_Required_Member_Summary");
+ public void printSummaryLabel() {
+ writer.printText("doclet.Annotation_Type_Required_Member_Summary");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void printTableSummary() {
+ writer.tableIndexSummary(configuration().getText("doclet.Member_Table_Summary",
+ configuration().getText("doclet.Annotation_Type_Required_Member_Summary"),
+ configuration().getText("doclet.annotation_type_required_members")));
+ }
+
+ public void printSummaryTableHeader(ProgramElementDoc member) {
+ String[] header = new String[] {
+ writer.getModifierTypeHeader(),
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Annotation_Type_Required_Member"),
+ configuration().getText("doclet.Description"))
+ };
+ writer.summaryTableHeader(header, "col");
}
/**
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -34,6 +34,7 @@
* Generate class usage information.
*
* @author Robert G. Field
+ * @author Bhavesh Patel (Modified)
*/
public class ClassUseWriter extends SubWriterHolderWriter {
@@ -65,6 +66,13 @@
final ConstructorWriterImpl constrSubWriter;
final FieldWriterImpl fieldSubWriter;
final NestedClassWriterImpl classSubWriter;
+ // Summary for various use tables.
+ final String classUseTableSummary;
+ final String subclassUseTableSummary;
+ final String subinterfaceUseTableSummary;
+ final String fieldUseTableSummary;
+ final String methodUseTableSummary;
+ final String constructorUseTableSummary;
/**
@@ -116,6 +124,18 @@
constrSubWriter = new ConstructorWriterImpl(this);
fieldSubWriter = new FieldWriterImpl(this);
classSubWriter = new NestedClassWriterImpl(this);
+ classUseTableSummary = configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.classes"));
+ subclassUseTableSummary = configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.subclasses"));
+ subinterfaceUseTableSummary = configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.subinterfaces"));
+ fieldUseTableSummary = configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.fields"));
+ methodUseTableSummary = configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.methods"));
+ constructorUseTableSummary = configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.constructors"));
}
/**
@@ -213,12 +233,13 @@
}
protected void generatePackageList() throws IOException {
- tableIndexSummary();
- tableHeaderStart("#CCCCFF");
+ tableIndexSummary(useTableSummary);
+ tableCaptionStart();
printText("doclet.ClassUse_Packages.that.use.0",
getLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS_USE_HEADER, classdoc,
false)));
- tableHeaderEnd();
+ tableCaptionEnd();
+ summaryTableHeader(packageTableHeader, "col");
for (Iterator<PackageDoc> it = pkgSet.iterator(); it.hasNext();) {
PackageDoc pkg = it.next();
@@ -234,12 +255,13 @@
pkgToPackageAnnotations == null ||
pkgToPackageAnnotations.size() == 0)
return;
- tableIndexSummary();
- tableHeaderStart("#CCCCFF");
+ tableIndexSummary(useTableSummary);
+ tableCaptionStart();
printText("doclet.ClassUse_PackageAnnotation",
getLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS_USE_HEADER, classdoc,
false)));
- tableHeaderEnd();
+ tableCaptionEnd();
+ summaryTableHeader(packageTableHeader, "col");
for (Iterator<PackageDoc> it = pkgToPackageAnnotations.iterator(); it.hasNext();) {
PackageDoc pkg = it.next();
trBgcolorStyle("white", "TableRowColor");
@@ -300,83 +322,68 @@
LinkInfoImpl.CONTEXT_CLASS_USE_HEADER, classdoc, false));
String pkgLink = getPackageLink(pkg, Util.getPackageName(pkg), false);
classSubWriter.printUseInfo(pkgToClassAnnotations.get(pkg.name()),
- configuration.getText("doclet.ClassUse_Annotation", classLink,
- pkgLink));
-
+ configuration.getText("doclet.ClassUse_Annotation", classLink,
+ pkgLink), classUseTableSummary);
classSubWriter.printUseInfo(pkgToClassTypeParameter.get(pkg.name()),
- configuration.getText("doclet.ClassUse_TypeParameter", classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_TypeParameter", classLink,
+ pkgLink), classUseTableSummary);
classSubWriter.printUseInfo(pkgToSubclass.get(pkg.name()),
- configuration.getText("doclet.ClassUse_Subclass", classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_Subclass", classLink,
+ pkgLink), subclassUseTableSummary);
classSubWriter.printUseInfo(pkgToSubinterface.get(pkg.name()),
- configuration.getText("doclet.ClassUse_Subinterface",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_Subinterface", classLink,
+ pkgLink), subinterfaceUseTableSummary);
classSubWriter.printUseInfo(pkgToImplementingClass.get(pkg.name()),
- configuration.getText("doclet.ClassUse_ImplementingClass",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_ImplementingClass", classLink,
+ pkgLink), classUseTableSummary);
fieldSubWriter.printUseInfo(pkgToField.get(pkg.name()),
- configuration.getText("doclet.ClassUse_Field",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_Field", classLink,
+ pkgLink), fieldUseTableSummary);
fieldSubWriter.printUseInfo(pkgToFieldAnnotations.get(pkg.name()),
- configuration.getText("doclet.ClassUse_FieldAnnotations",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_FieldAnnotations", classLink,
+ pkgLink), fieldUseTableSummary);
fieldSubWriter.printUseInfo(pkgToFieldTypeParameter.get(pkg.name()),
- configuration.getText("doclet.ClassUse_FieldTypeParameter",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_FieldTypeParameter", classLink,
+ pkgLink), fieldUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodAnnotations.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodAnnotations", classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodAnnotations", classLink,
+ pkgLink), methodUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodParameterAnnotations.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodParameterAnnotations", classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodParameterAnnotations", classLink,
+ pkgLink), methodUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodTypeParameter.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodTypeParameter", classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodTypeParameter", classLink,
+ pkgLink), methodUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodReturn.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodReturn",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodReturn", classLink,
+ pkgLink), methodUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodReturnTypeParameter.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodReturnTypeParameter", classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodReturnTypeParameter", classLink,
+ pkgLink), methodUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodArgs.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodArgs",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodArgs", classLink,
+ pkgLink), methodUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodArgTypeParameter.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodArgsTypeParameters",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodArgsTypeParameters", classLink,
+ pkgLink), methodUseTableSummary);
methodSubWriter.printUseInfo(pkgToMethodThrows.get(pkg.name()),
- configuration.getText("doclet.ClassUse_MethodThrows",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_MethodThrows", classLink,
+ pkgLink), methodUseTableSummary);
constrSubWriter.printUseInfo(pkgToConstructorAnnotations.get(pkg.name()),
- configuration.getText("doclet.ClassUse_ConstructorAnnotations",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_ConstructorAnnotations", classLink,
+ pkgLink), constructorUseTableSummary);
constrSubWriter.printUseInfo(pkgToConstructorParameterAnnotations.get(pkg.name()),
- configuration.getText("doclet.ClassUse_ConstructorParameterAnnotations",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_ConstructorParameterAnnotations", classLink,
+ pkgLink), constructorUseTableSummary);
constrSubWriter.printUseInfo(pkgToConstructorArgs.get(pkg.name()),
- configuration.getText("doclet.ClassUse_ConstructorArgs",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_ConstructorArgs", classLink,
+ pkgLink), constructorUseTableSummary);
constrSubWriter.printUseInfo(pkgToConstructorArgTypeParameter.get(pkg.name()),
- configuration.getText("doclet.ClassUse_ConstructorArgsTypeParameters",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_ConstructorArgsTypeParameters", classLink,
+ pkgLink), constructorUseTableSummary);
constrSubWriter.printUseInfo(pkgToConstructorThrows.get(pkg.name()),
- configuration.getText("doclet.ClassUse_ConstructorThrows",
- classLink,
- pkgLink));
+ configuration.getText("doclet.ClassUse_ConstructorThrows", classLink,
+ pkgLink), constructorUseTableSummary);
}
/**
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -35,6 +35,7 @@
* Write the Constants Summary Page in HTML format.
*
* @author Jamie Ho
+ * @author Bhavesh Patel (Modified)
* @since 1.4
*/
public class ConstantsSummaryWriterImpl extends HtmlDocletWriter
@@ -50,6 +51,10 @@
*/
private ClassDoc currentClassDoc;
+ private final String constantsTableSummary;
+
+ private final String[] constantsTableHeader;
+
/**
* Construct a ConstantsSummaryWriter.
* @param configuration the configuration used in this run
@@ -59,6 +64,13 @@
throws IOException {
super(configuration, ConfigurationImpl.CONSTANTS_FILE_NAME);
this.configuration = configuration;
+ constantsTableSummary = configuration.getText("doclet.Constants_Table_Summary",
+ configuration.getText("doclet.Constants_Summary"));
+ constantsTableHeader = new String[] {
+ getModifierTypeHeader(),
+ configuration.getText("doclet.ConstantField"),
+ configuration.getText("doclet.Value")
+ };
}
/**
@@ -151,12 +163,11 @@
* @param classStr the heading to print.
*/
protected void writeClassName(String classStr) {
- table(1, 3, 0);
- trBgcolorStyle("#EEEEFF", "TableSubHeadingColor");
- thAlignColspan("left", 3);
+ table(1, 3, 0, constantsTableSummary);
+ tableSubCaptionStart();
write(classStr);
- thEnd();
- trEnd();
+ tableCaptionEnd();
+ summaryTableHeader(constantsTableHeader, "col");
}
private void tableFooter(boolean isHeader) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -37,6 +37,7 @@
*
* @author Robert Field
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
implements ConstructorWriter, MemberSummaryWriter {
@@ -211,8 +212,34 @@
this.foundNonPubConstructor = foundNonPubConstructor;
}
- public void printSummaryLabel(ClassDoc cd) {
- writer.strongText("doclet.Constructor_Summary");
+ public void printSummaryLabel() {
+ writer.printText("doclet.Constructor_Summary");
+ }
+
+ public void printTableSummary() {
+ writer.tableIndexSummary(configuration().getText("doclet.Member_Table_Summary",
+ configuration().getText("doclet.Constructor_Summary"),
+ configuration().getText("doclet.constructors")));
+ }
+
+ public void printSummaryTableHeader(ProgramElementDoc member) {
+ String[] header;
+ if (foundNonPubConstructor) {
+ header = new String[] {
+ configuration().getText("doclet.Modifier"),
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Constructor"),
+ configuration().getText("doclet.Description"))
+ };
+ }
+ else {
+ header = new String[] {
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Constructor"),
+ configuration().getText("doclet.Description"))
+ };
+ }
+ writer.summaryTableHeader(header, "col");
}
public void printSummaryAnchor(ClassDoc cd) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/DeprecatedListWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -35,6 +35,7 @@
*
* @see java.util.List
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public class DeprecatedListWriter extends SubWriterHolderWriter {
@@ -55,6 +56,28 @@
"doclet.Deprecated_Annotation_Type_Members"
};
+ private static final String[] SUMMARY_KEYS = new String[] {
+ "doclet.deprecated_interfaces", "doclet.deprecated_classes",
+ "doclet.deprecated_enums", "doclet.deprecated_exceptions",
+ "doclet.deprecated_errors",
+ "doclet.deprecated_annotation_types",
+ "doclet.deprecated_fields",
+ "doclet.deprecated_methods", "doclet.deprecated_constructors",
+ "doclet.deprecated_enum_constants",
+ "doclet.deprecated_annotation_type_members"
+ };
+
+ private static final String[] HEADER_KEYS = new String[] {
+ "doclet.Interface", "doclet.Class",
+ "doclet.Enum", "doclet.Exceptions",
+ "doclet.Errors",
+ "doclet.AnnotationType",
+ "doclet.Field",
+ "doclet.Method", "doclet.Constructor",
+ "doclet.Enum_Constant",
+ "doclet.Annotation_Type_Member"
+ };
+
private AbstractMemberWriter[] writers;
private ConfigurationImpl configuration;
@@ -119,11 +142,20 @@
ulEnd();
println();
+ String memberTableSummary;
+ String[] memberTableHeader = new String[1];
for (int i = 0; i < DeprecatedAPIListBuilder.NUM_TYPES; i++) {
if (deprapi.hasDocumentation(i)) {
writeAnchor(deprapi, i);
+ memberTableSummary =
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText(HEADING_KEYS[i]),
+ configuration.getText(SUMMARY_KEYS[i]));
+ memberTableHeader[0] = configuration.getText("doclet.0_and_1",
+ configuration.getText(HEADER_KEYS[i]),
+ configuration.getText("doclet.Description"));
writers[i].printDeprecatedAPI(deprapi.getList(i),
- HEADING_KEYS[i]);
+ HEADING_KEYS[i], memberTableSummary, memberTableHeader);
}
}
printDeprecatedFooter();
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -35,6 +35,7 @@
* Writes enum constant documentation in HTML format.
*
* @author Jamie Ho
+ * @author Bhavesh Patel (Modified)
*/
public class EnumConstantWriterImpl extends AbstractMemberWriter
implements EnumConstantWriter, MemberSummaryWriter {
@@ -194,8 +195,23 @@
return VisibleMemberMap.ENUM_CONSTANTS;
}
- public void printSummaryLabel(ClassDoc cd) {
- writer.strongText("doclet.Enum_Constant_Summary");
+ public void printSummaryLabel() {
+ writer.printText("doclet.Enum_Constant_Summary");
+ }
+
+ public void printTableSummary() {
+ writer.tableIndexSummary(configuration().getText("doclet.Member_Table_Summary",
+ configuration().getText("doclet.Enum_Constant_Summary"),
+ configuration().getText("doclet.enum_constants")));
+ }
+
+ public void printSummaryTableHeader(ProgramElementDoc member) {
+ String[] header = new String[] {
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Enum_Constant"),
+ configuration().getText("doclet.Description"))
+ };
+ writer.summaryTableHeader(header, "col");
}
public void printSummaryAnchor(ClassDoc cd) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -37,6 +37,7 @@
* @author Robert Field
* @author Atul M Dambalkar
* @author Jamie Ho (rewrite)
+ * @author Bhavesh Patel (Modified)
*/
public class FieldWriterImpl extends AbstractMemberWriter
implements FieldWriter, MemberSummaryWriter {
@@ -236,8 +237,24 @@
return VisibleMemberMap.FIELDS;
}
- public void printSummaryLabel(ClassDoc cd) {
- writer.strongText("doclet.Field_Summary");
+ public void printSummaryLabel() {
+ writer.printText("doclet.Field_Summary");
+ }
+
+ public void printTableSummary() {
+ writer.tableIndexSummary(configuration().getText("doclet.Member_Table_Summary",
+ configuration().getText("doclet.Field_Summary"),
+ configuration().getText("doclet.fields")));
+ }
+
+ public void printSummaryTableHeader(ProgramElementDoc member) {
+ String[] header = new String[] {
+ writer.getModifierTypeHeader(),
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Field"),
+ configuration().getText("doclet.Description"))
+ };
+ writer.summaryTableHeader(header, "col");
}
public void printSummaryAnchor(ClassDoc cd) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -785,6 +785,15 @@
}
/**
+ * Print the Html table tag for the index summary tables.
+ *
+ * @param summary the summary for the table tag summary attribute.
+ */
+ public void tableIndexSummary(String summary) {
+ table(1, "100%", 3, 0, summary);
+ }
+
+ /**
* Same as {@link #tableIndexSummary()}.
*/
public void tableIndexDetail() {
@@ -800,6 +809,40 @@
}
/**
+ * Print table caption.
+ */
+ public void tableCaptionStart() {
+ captionStyle("TableCaption");
+ }
+
+ /**
+ * Print table sub-caption.
+ */
+ public void tableSubCaptionStart() {
+ captionStyle("TableSubCaption");
+ }
+
+ /**
+ * Print table caption end tags.
+ */
+ public void tableCaptionEnd() {
+ captionEnd();
+ }
+
+ /**
+ * Print summary table header.
+ */
+ public void summaryTableHeader(String[] header, String scope) {
+ tr();
+ for ( int i=0; i < header.length; i++ ) {
+ thScopeNoWrap("TableHeader", scope);
+ print(header[i]);
+ thEnd();
+ }
+ trEnd();
+ }
+
+ /**
* Prine table header information about color, column span and the font.
*
* @param color Background color.
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -38,6 +38,7 @@
* @author Robert Field
* @author Atul M Dambalkar
* @author Jamie Ho (rewrite)
+ * @author Bhavesh Patel (Modified)
*/
public class MethodWriterImpl extends AbstractExecutableMemberWriter
implements MethodWriter, MemberSummaryWriter {
@@ -255,8 +256,24 @@
return VisibleMemberMap.METHODS;
}
- public void printSummaryLabel(ClassDoc cd) {
- writer.strongText("doclet.Method_Summary");
+ public void printSummaryLabel() {
+ writer.printText("doclet.Method_Summary");
+ }
+
+ public void printTableSummary() {
+ writer.tableIndexSummary(configuration().getText("doclet.Member_Table_Summary",
+ configuration().getText("doclet.Method_Summary"),
+ configuration().getText("doclet.methods")));
+ }
+
+ public void printSummaryTableHeader(ProgramElementDoc member) {
+ String[] header = new String[] {
+ writer.getModifierTypeHeader(),
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Method"),
+ configuration().getText("doclet.Description"))
+ };
+ writer.summaryTableHeader(header, "col");
}
public void printSummaryAnchor(ClassDoc cd) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -37,6 +37,7 @@
* @author Robert Field
* @author Atul M Dambalkar
* @author Jamie Ho (rewrite)
+ * @author Bhavesh Patel (Modified)
*/
public class NestedClassWriterImpl extends AbstractMemberWriter
implements MemberSummaryWriter {
@@ -147,8 +148,35 @@
return VisibleMemberMap.INNERCLASSES;
}
- public void printSummaryLabel(ClassDoc cd) {
- writer.strongText("doclet.Nested_Class_Summary");
+ public void printSummaryLabel() {
+ writer.printText("doclet.Nested_Class_Summary");
+ }
+
+ public void printTableSummary() {
+ writer.tableIndexSummary(configuration().getText("doclet.Member_Table_Summary",
+ configuration().getText("doclet.Nested_Class_Summary"),
+ configuration().getText("doclet.nested_classes")));
+ }
+
+ public void printSummaryTableHeader(ProgramElementDoc member) {
+ String[] header;
+ if (member.isInterface()) {
+ header = new String[] {
+ writer.getModifierTypeHeader(),
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Interface"),
+ configuration().getText("doclet.Description"))
+ };
+ }
+ else {
+ header = new String[] {
+ writer.getModifierTypeHeader(),
+ configuration().getText("doclet.0_and_1",
+ configuration().getText("doclet.Class"),
+ configuration().getText("doclet.Description"))
+ };
+ }
+ writer.summaryTableHeader(header, "col");
}
public void printSummaryAnchor(ClassDoc cd) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -114,7 +114,7 @@
*
* @param text Text string will not be used in this method.
*/
- protected void printIndexHeader(String text) {
+ protected void printIndexHeader(String text, String tableSummary) {
printTableHeader(false);
}
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -36,6 +36,7 @@
* with the "pacakge-summary.html" file for the clicked package.
*
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public class PackageIndexWriter extends AbstractPackageIndexWriter {
@@ -123,7 +124,10 @@
List<PackageDoc> list = groupPackageMap.get(groupname);
if (list != null && list.size() > 0) {
printIndexContents(list.toArray(new PackageDoc[list.size()]),
- groupname);
+ groupname,
+ configuration.getText("doclet.Member_Table_Summary",
+ groupname,
+ configuration.getText("doclet.packages")));
}
}
}
@@ -149,11 +153,12 @@
/**
* Print Html tags for the table for this package index.
*/
- protected void printIndexHeader(String text) {
- tableIndexSummary();
- tableHeaderStart("#CCCCFF");
- strong(text);
- tableHeaderEnd();
+ protected void printIndexHeader(String text, String tableSummary) {
+ tableIndexSummary(tableSummary);
+ tableCaptionStart();
+ print(text);
+ tableCaptionEnd();
+ summaryTableHeader(packageTableHeader, "col");
}
/**
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -34,6 +34,7 @@
* Generate package usage information.
*
* @author Robert G. Field
+ * @author Bhavesh Patel (Modified)
*/
public class PackageUseWriter extends SubWriterHolderWriter {
@@ -131,11 +132,12 @@
}
protected void generatePackageList() throws IOException {
- tableIndexSummary();
- tableHeaderStart("#CCCCFF");
+ tableIndexSummary(useTableSummary);
+ tableCaptionStart();
printText("doclet.ClassUse_Packages.that.use.0",
getPackageLink(pkgdoc, Util.getPackageName(pkgdoc), false));
- tableHeaderEnd();
+ tableCaptionEnd();
+ summaryTableHeader(packageTableHeader, "col");
Iterator<String> it = usingPackageToUsedClasses.keySet().iterator();
while (it.hasNext()) {
PackageDoc pkg = configuration.root.packageNamed(it.next());
@@ -147,6 +149,11 @@
}
protected void generateClassList() throws IOException {
+ String[] classTableHeader = new String[] {
+ configuration.getText("doclet.0_and_1",
+ configuration.getText("doclet.Class"),
+ configuration.getText("doclet.Description"))
+ };
Iterator<String> itp = usingPackageToUsedClasses.keySet().iterator();
while (itp.hasNext()) {
String packageName = itp.next();
@@ -154,12 +161,14 @@
if (usingPackage != null) {
anchor(usingPackage.name());
}
- tableIndexSummary();
- tableHeaderStart("#CCCCFF");
+ tableIndexSummary(configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.classes")));
+ tableCaptionStart();
printText("doclet.ClassUse_Classes.in.0.used.by.1",
getPackageLink(pkgdoc, Util.getPackageName(pkgdoc), false),
getPackageLink(usingPackage,Util.getPackageName(usingPackage), false));
- tableHeaderEnd();
+ tableCaptionEnd();
+ summaryTableHeader(classTableHeader, "col");
Iterator<ClassDoc> itc =
usingPackageToUsedClasses.get(packageName).iterator();
while (itc.hasNext()) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java Thu Mar 19 19:00:54 2009 -0700
@@ -38,6 +38,7 @@
* class-kind will update the frame with the clicked class-kind page.
*
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public class PackageWriterImpl extends HtmlDocletWriter
implements PackageSummaryWriter {
@@ -107,14 +108,15 @@
/**
* {@inheritDoc}
*/
- public void writeClassesSummary(ClassDoc[] classes, String label) {
+ public void writeClassesSummary(ClassDoc[] classes, String label, String tableSummary, String[] tableHeader) {
if(classes.length > 0) {
Arrays.sort(classes);
- tableIndexSummary();
+ tableIndexSummary(tableSummary);
boolean printedHeading = false;
for (int i = 0; i < classes.length; i++) {
if (!printedHeading) {
- printFirstRow(label);
+ printTableCaption(label);
+ printFirstRow(tableHeader);
printedHeading = true;
}
if (!Util.isCoreClass(classes[i]) ||
@@ -149,14 +151,23 @@
}
/**
+ * Print the table caption for the class-listing.
+ *
+ * @param label label for the Class kind listing.
+ */
+ protected void printTableCaption(String label) {
+ tableCaptionStart();
+ print(label);
+ tableCaptionEnd();
+ }
+
+ /**
* Print the table heading for the class-listing.
*
- * @param label Label for the Class kind listing.
+ * @param tableHeader table header string for the Class listing.
*/
- protected void printFirstRow(String label) {
- tableHeaderStart("#CCCCFF");
- strong(label);
- tableHeaderEnd();
+ protected void printFirstRow(String[] tableHeader) {
+ summaryTableHeader(tableHeader, "col");
}
/**
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/StylesheetWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/StylesheetWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -33,6 +33,7 @@
* Writes the style sheet for the doclet output.
*
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public class StylesheetWriter extends HtmlDocletWriter {
@@ -115,6 +116,13 @@
println("background-color:#FFFFFF; color:#000000}");
print(".NavBarCell3 { font-family: Arial, Helvetica, sans-serif; ");
println("background-color:#FFFFFF; color:#000000}");
+
+ print("/* "); printText("doclet.Style_line_12"); println(" */");
+ print(".TableCaption { background: #CCCCFF; color:#000000; text-align: left; font-size: 150%; font-weight: bold; border-left: 2px ridge; border-right: 2px ridge; border-top: 2px ridge; padding-left: 5px; }");
+ print(" /* "); printText("doclet.Style_line_5"); println(" */");
+ print(".TableSubCaption { background: #EEEEFF; color:#000000; text-align: left; font-weight: bold; border-left: 2px ridge; border-right: 2px ridge; border-top: 2px ridge; padding-left: 5px; }");
+ print(" /* "); printText("doclet.Style_line_6"); println(" */");
+ print(".TableHeader { text-align: center; font-size: 80%; font-weight: bold; }");
println("");
}
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -43,6 +43,7 @@
*
* @author Robert Field
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
@@ -72,10 +73,11 @@
public void printSummaryHeader(AbstractMemberWriter mw, ClassDoc cd) {
mw.printSummaryAnchor(cd);
- tableIndexSummary();
- tableHeaderStart("#CCCCFF");
- mw.printSummaryLabel(cd);
- tableHeaderEnd();
+ mw.printTableSummary();
+ tableCaptionStart();
+ mw.printSummaryLabel();
+ tableCaptionEnd();
+ mw.printSummaryTableHeader(cd);
}
public void printTableHeadingBackground(String str) {
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -37,6 +37,7 @@
*
* @since 1.2
* @author Atul M Dambalkar
+ * @author Bhavesh Patel (Modified)
*/
public class HtmlWriter extends PrintWriter {
@@ -67,6 +68,21 @@
protected boolean memberDetailsListPrinted;
/**
+ * Header for tables displaying packages and description..
+ */
+ protected final String[] packageTableHeader;
+
+ /**
+ * Summary for use tables displaying class and package use.
+ */
+ protected final String useTableSummary;
+
+ /**
+ * Column header for class docs displaying Modifier and Type header.
+ */
+ protected final String modifierTypeHeader;
+
+ /**
* Constructor.
*
* @param path The directory path to be created for this file
@@ -86,6 +102,15 @@
this.configuration = configuration;
htmlFilename = filename;
this.memberDetailsListPrinted = false;
+ packageTableHeader = new String[] {
+ configuration.getText("doclet.Package"),
+ configuration.getText("doclet.Description")
+ };
+ useTableSummary = configuration.getText("doclet.Use_Table_Summary",
+ configuration.getText("doclet.packages"));
+ modifierTypeHeader = configuration.getText("doclet.0_and_1",
+ configuration.getText("doclet.Modifier"),
+ configuration.getText("doclet.Type"));
}
/**
@@ -803,6 +828,26 @@
}
/**
+ * Print HTML <TABLE BORDER="border" WIDTH="width"
+ * CELLPADDING="cellpadding" CELLSPACING="cellspacing" SUMMARY="summary"> tag.
+ *
+ * @param border Border size.
+ * @param width Width of the table.
+ * @param cellpadding Cellpadding for the table cells.
+ * @param cellspacing Cellspacing for the table cells.
+ * @param summary Table summary.
+ */
+ public void table(int border, String width, int cellpadding,
+ int cellspacing, String summary) {
+ println(DocletConstants.NL +
+ "<TABLE BORDER=\"" + border +
+ "\" WIDTH=\"" + width +
+ "\" CELLPADDING=\"" + cellpadding +
+ "\" CELLSPACING=\"" + cellspacing +
+ "\" SUMMARY=\"" + summary + "\">");
+ }
+
+ /**
* Print HTML <TABLE BORDER="border" CELLPADDING="cellpadding"
* CELLSPACING="cellspacing"> tag.
*
@@ -819,6 +864,23 @@
}
/**
+ * Print HTML <TABLE BORDER="border" CELLPADDING="cellpadding"
+ * CELLSPACING="cellspacing" SUMMARY="summary"> tag.
+ *
+ * @param border Border size.
+ * @param cellpadding Cellpadding for the table cells.
+ * @param cellspacing Cellspacing for the table cells.
+ * @param summary Table summary.
+ */
+ public void table(int border, int cellpadding, int cellspacing, String summary) {
+ println(DocletConstants.NL +
+ "<TABLE BORDER=\"" + border +
+ "\" CELLPADDING=\"" + cellpadding +
+ "\" CELLSPACING=\"" + cellspacing +
+ "\" SUMMARY=\"" + summary + "\">");
+ }
+
+ /**
* Print HTML <TABLE BORDER="border" WIDTH="width">
*
* @param border Border size.
@@ -913,6 +975,23 @@
}
/**
+ * Print <CAPTION CLASS="stylename"> tag. Adds a newline character
+ * at the end.
+ *
+ * @param stylename style to be applied.
+ */
+ public void captionStyle(String stylename) {
+ println("<CAPTION CLASS=\"" + stylename + "\">");
+ }
+
+ /**
+ * Print </CAPTION> tag. Add a newline character at the end.
+ */
+ public void captionEnd() {
+ println("</CAPTION>");
+ }
+
+ /**
* Print <TR BGCOLOR="color" CLASS="stylename"> tag. Adds a newline character
* at the end.
*
@@ -953,6 +1032,23 @@
}
/**
+ * Print <TH CLASS="stylename" SCOPE="scope" NOWRAP> tag.
+ *
+ * @param stylename style to be applied.
+ * @param scope the scope attribute.
+ */
+ public void thScopeNoWrap(String stylename, String scope) {
+ print("<TH CLASS=\"" + stylename + "\" SCOPE=\"" + scope + "\" NOWRAP>");
+ }
+
+ /*
+ * Returns a header for Modifier and Type column of a table.
+ */
+ public String getModifierTypeHeader() {
+ return modifierTypeHeader;
+ }
+
+ /**
* Print <TH align="align" COLSPAN=i> tag.
*
* @param align the align attribute.
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Thu Mar 19 19:00:54 2009 -0700
@@ -83,6 +83,17 @@
doclet.Deprecated_Methods=Deprecated Methods
doclet.Deprecated_Enum_Constants=Deprecated Enum Constants
doclet.Deprecated_Annotation_Type_Members=Deprecated Annotation Type Elements
+doclet.deprecated_classes=deprecated classes
+doclet.deprecated_enums=deprecated enums
+doclet.deprecated_interfaces=deprecated interfaces
+doclet.deprecated_exceptions=deprecated exceptions
+doclet.deprecated_annotation_types=deprecated annotation types
+doclet.deprecated_errors=deprecated errors
+doclet.deprecated_fields=deprecated fields
+doclet.deprecated_constructors=deprecated constructors
+doclet.deprecated_methods=deprecated methods
+doclet.deprecated_enum_constants=deprecated enum constants
+doclet.deprecated_annotation_type_members=deprecated annotation type elements
doclet.Frame_Output=Frame Output
doclet.Docs_generated_by_Javadoc=Documentation generated by Javadoc.
doclet.Generated_Docs_Untitled=Generated Documentation (Untitled)
@@ -171,6 +182,7 @@
doclet.Style_line_9=Example of smaller, sans-serif font in frames
doclet.Style_line_10=Navigation bar fonts and colors
doclet.Style_line_11=Dark Blue
+doclet.Style_line_12=Table caption style
doclet.ClassUse_Packages.that.use.0=Packages that use {0}
doclet.ClassUse_Uses.of.0.in.1=Uses of {0} in {1}
doclet.ClassUse_Classes.in.0.used.by.1=Classes in {0} used by {1}
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java Thu Mar 19 19:00:54 2009 -0700
@@ -64,7 +64,7 @@
* @param classes the array of classes to document.
* @param label the label for this table.
*/
- public abstract void writeClassesSummary(ClassDoc[] classes, String label);
+ public abstract void writeClassesSummary(ClassDoc[] classes, String label, String tableSummary, String[] tableHeader);
/**
* Write the header for the summary.
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java Thu Mar 19 19:00:54 2009 -0700
@@ -40,6 +40,7 @@
* Do not use it as an API
*
* @author Jamie Ho
+ * @author Bhavesh Patel (Modified)
* @since 1.5
*/
public class PackageSummaryBuilder extends AbstractBuilder {
@@ -184,7 +185,15 @@
* Build the summary for the classes in this package.
*/
public void buildClassSummary() {
- ClassDoc[] classes =
+ String classTableSummary =
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText("doclet.Class_Summary"),
+ configuration.getText("doclet.classes"));
+ String[] classTableHeader = new String[] {
+ configuration.getText("doclet.Class"),
+ configuration.getText("doclet.Description")
+ };
+ ClassDoc[] classes =
packageDoc.isIncluded()
? packageDoc.ordinaryClasses()
: configuration.classDocCatalog.ordinaryClasses(
@@ -192,7 +201,8 @@
if (classes.length > 0) {
packageWriter.writeClassesSummary(
classes,
- configuration.getText("doclet.Class_Summary"));
+ configuration.getText("doclet.Class_Summary"),
+ classTableSummary, classTableHeader);
}
}
@@ -200,7 +210,15 @@
* Build the summary for the interfaces in this package.
*/
public void buildInterfaceSummary() {
- ClassDoc[] interfaces =
+ String interfaceTableSummary =
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText("doclet.Interface_Summary"),
+ configuration.getText("doclet.interfaces"));
+ String[] interfaceTableHeader = new String[] {
+ configuration.getText("doclet.Interface"),
+ configuration.getText("doclet.Description")
+ };
+ ClassDoc[] interfaces =
packageDoc.isIncluded()
? packageDoc.interfaces()
: configuration.classDocCatalog.interfaces(
@@ -208,7 +226,8 @@
if (interfaces.length > 0) {
packageWriter.writeClassesSummary(
interfaces,
- configuration.getText("doclet.Interface_Summary"));
+ configuration.getText("doclet.Interface_Summary"),
+ interfaceTableSummary, interfaceTableHeader);
}
}
@@ -216,7 +235,15 @@
* Build the summary for the enums in this package.
*/
public void buildAnnotationTypeSummary() {
- ClassDoc[] annotationTypes =
+ String annotationtypeTableSummary =
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText("doclet.Annotation_Types_Summary"),
+ configuration.getText("doclet.annotationtypes"));
+ String[] annotationtypeTableHeader = new String[] {
+ configuration.getText("doclet.AnnotationType"),
+ configuration.getText("doclet.Description")
+ };
+ ClassDoc[] annotationTypes =
packageDoc.isIncluded()
? packageDoc.annotationTypes()
: configuration.classDocCatalog.annotationTypes(
@@ -224,7 +251,8 @@
if (annotationTypes.length > 0) {
packageWriter.writeClassesSummary(
annotationTypes,
- configuration.getText("doclet.Annotation_Types_Summary"));
+ configuration.getText("doclet.Annotation_Types_Summary"),
+ annotationtypeTableSummary, annotationtypeTableHeader);
}
}
@@ -232,7 +260,15 @@
* Build the summary for the enums in this package.
*/
public void buildEnumSummary() {
- ClassDoc[] enums =
+ String enumTableSummary =
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText("doclet.Enum_Summary"),
+ configuration.getText("doclet.enums"));
+ String[] enumTableHeader = new String[] {
+ configuration.getText("doclet.Enum"),
+ configuration.getText("doclet.Description")
+ };
+ ClassDoc[] enums =
packageDoc.isIncluded()
? packageDoc.enums()
: configuration.classDocCatalog.enums(
@@ -240,7 +276,8 @@
if (enums.length > 0) {
packageWriter.writeClassesSummary(
enums,
- configuration.getText("doclet.Enum_Summary"));
+ configuration.getText("doclet.Enum_Summary"),
+ enumTableSummary, enumTableHeader);
}
}
@@ -248,7 +285,15 @@
* Build the summary for the exceptions in this package.
*/
public void buildExceptionSummary() {
- ClassDoc[] exceptions =
+ String exceptionTableSummary =
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText("doclet.Exception_Summary"),
+ configuration.getText("doclet.exceptions"));
+ String[] exceptionTableHeader = new String[] {
+ configuration.getText("doclet.Exception"),
+ configuration.getText("doclet.Description")
+ };
+ ClassDoc[] exceptions =
packageDoc.isIncluded()
? packageDoc.exceptions()
: configuration.classDocCatalog.exceptions(
@@ -256,7 +301,8 @@
if (exceptions.length > 0) {
packageWriter.writeClassesSummary(
exceptions,
- configuration.getText("doclet.Exception_Summary"));
+ configuration.getText("doclet.Exception_Summary"),
+ exceptionTableSummary, exceptionTableHeader);
}
}
@@ -264,7 +310,15 @@
* Build the summary for the errors in this package.
*/
public void buildErrorSummary() {
- ClassDoc[] errors =
+ String errorTableSummary =
+ configuration.getText("doclet.Member_Table_Summary",
+ configuration.getText("doclet.Error_Summary"),
+ configuration.getText("doclet.errors"));
+ String[] errorTableHeader = new String[] {
+ configuration.getText("doclet.Error"),
+ configuration.getText("doclet.Description")
+ };
+ ClassDoc[] errors =
packageDoc.isIncluded()
? packageDoc.errors()
: configuration.classDocCatalog.errors(
@@ -272,7 +326,8 @@
if (errors.length > 0) {
packageWriter.writeClassesSummary(
errors,
- configuration.getText("doclet.Error_Summary"));
+ configuration.getText("doclet.Error_Summary"),
+ errorTableSummary, errorTableHeader);
}
}
--- a/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties Thu Mar 19 19:00:54 2009 -0700
@@ -82,6 +82,7 @@
doclet.Errors=Errors
doclet.Classes=Classes
doclet.Packages=Packages
+doclet.packages=packages
doclet.All_Classes=All Classes
doclet.All_Superinterfaces=All Superinterfaces:
doclet.All_Implemented_Interfaces=All Implemented Interfaces:
@@ -92,14 +93,20 @@
doclet.Class=Class
doclet.AnnotationType=Annotation Type
doclet.annotationtype=annotation type
+doclet.annotationtypes=annotation types
doclet.Enum=Enum
doclet.enum=enum
+doclet.enums=enums
doclet.interface=interface
+doclet.interfaces=interfaces
doclet.class=class
+doclet.classes=classes
doclet.Error=Error
doclet.error=error
+doclet.errors=errors
doclet.Exception=Exception
doclet.exception=exception
+doclet.exceptions=exceptions
doclet.extended_by=extended by
doclet.extends=extends
doclet.Package_private=(package private)
@@ -125,6 +132,32 @@
doclet.value_tag_invalid_constant=@value tag (which references {0}) can only be used in constants.
doclet.dest_dir_create=Creating destination directory: "{0}"
doclet.in={0} in {1}
+doclet.Use_Table_Summary=Use table, listing {0}, and an explanation
+doclet.Constants_Table_Summary={0} table, listing constant fields, and values
+doclet.Member_Table_Summary={0} table, listing {1}, and an explanation
+doclet.fields=fields
+doclet.constructors=constructors
+doclet.methods=methods
+doclet.annotation_type_optional_members=optional elements
+doclet.annotation_type_required_members=required elements
+doclet.enum_constants=enum constants
+doclet.nested_classes=nested classes
+doclet.subclasses=subclasses
+doclet.subinterfaces=subinterfaces
+doclet.Modifier=Modifier
+doclet.Type=Type
+doclet.Field=Field
+doclet.Constructor=Constructor
+doclet.Method=Method
+doclet.Annotation_Type_Optional_Member=Optional Element
+doclet.Annotation_Type_Required_Member=Required Element
+doclet.Annotation_Type_Member=Annotation Type Element
+doclet.Enum_Constant=Enum Constant
+doclet.Class=Class
+doclet.Description=Description
+doclet.ConstantField=Constant Field
+doclet.Value=Value
+doclet.0_and_1={0} and {1}
#Documentation for Enums
doclet.enum_values_doc=\n\
--- a/langtools/test/com/sun/javadoc/testHeadings/TestHeadings.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/test/com/sun/javadoc/testHeadings/TestHeadings.java Thu Mar 19 19:00:54 2009 -0700
@@ -47,14 +47,16 @@
private static final String[][] TEST = {
//Package summary
{BUG_ID + FS + "pkg1" + FS + "package-summary.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\"><FONT SIZE=\"+2\">" + NL +
- "<STRONG>Class Summary</STRONG></FONT></TH>"
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Class</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
},
// Class documentation
{BUG_ID + FS + "pkg1" + FS + "C1.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\"><FONT SIZE=\"+2\">" + NL +
- "<STRONG>Field Summary</STRONG></FONT></TH>"
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Field and Description</TH>"
},
{BUG_ID + FS + "pkg1" + FS + "C1.html",
"<TH ALIGN=\"left\"><STRONG>Methods inherited from class " + "java.lang.Object</STRONG></TH>"
@@ -62,29 +64,32 @@
// Class use documentation
{BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\"><FONT SIZE=\"+2\">" + NL +
- "Packages that use <A HREF=\"../../pkg1/C1.html\" " + "title=\"class in pkg1\">C1</A></FONT></TH>"
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Package</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Description</TH>"
},
{BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
"<TH ALIGN=\"left\" COLSPAN=\"2\"><FONT SIZE=\"+2\">" + NL +
"Uses of <A HREF=\"../../pkg1/C1.html\" " + "title=\"class in pkg1\">C1</A> in " + "<A HREF=\"../../pkg2/package-summary.html\">pkg2</A></FONT></TH>"
},
{BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Fields in " + "<A HREF=\"../../pkg2/package-summary.html\">pkg2</A> " + "declared as <A HREF=\"../../pkg1/C1.html\" " + "title=\"class in pkg1\">C1</A></FONT></TH>"
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Field and Description</TH>"
},
// Deprecated
{BUG_ID + FS + "deprecated-list.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\"><FONT SIZE=\"+2\">" + NL +
- "<STRONG>Deprecated Methods</STRONG></FONT></TH>"
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Method and Description</TH>"
},
// Constant values
{BUG_ID + FS + "constant-values.html",
- "<TH ALIGN=\"left\" COLSPAN=\"3\">pkg1.<A HREF=\"pkg1/C1.html\" " + "title=\"class in pkg1\">C1</A></TH>"
- },
- {BUG_ID + FS + "constant-values.html",
- "<TH ALIGN=\"left\" COLSPAN=\"3\">pkg1.<A HREF=\"pkg1/C1.html\" " + "title=\"class in pkg1\">C1</A></TH>"
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Constant Field</TH>" + NL +
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>Value</TH>"
},
// Serialized Form
--- a/langtools/test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java Thu Mar 19 19:00:54 2009 -0700
@@ -38,14 +38,15 @@
private static final String BUG_ID = "6786028";
private static final String[][] TEST1 = {
- {BUG_ID + FS + "pkg1" + FS + "C1.html", "<STRONG>Method Summary</STRONG>"},
- {BUG_ID + FS + "pkg1" + FS + "C1.html", "<STRONG>See Also:</STRONG>"},
- {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<STRONG>Class Summary</STRONG>"}};
+ {BUG_ID + FS + "pkg1" + FS + "C1.html", "<STRONG>See Also:</STRONG>"}};
private static final String[][] NEGATED_TEST1 = {
- {BUG_ID + FS + "pkg1" + FS + "C1.html", "<B>"}};
+ {BUG_ID + FS + "pkg1" + FS + "C1.html", "<STRONG>Method Summary</STRONG>"},
+ {BUG_ID + FS + "pkg1" + FS + "C1.html", "<B>"},
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<STRONG>Class Summary</STRONG>"}};
private static final String[][] TEST2 = {
+ {BUG_ID + FS + "pkg2" + FS + "C2.html", "<B>Comments:</B>"}};
+ private static final String[][] NEGATED_TEST2 = {
{BUG_ID + FS + "pkg2" + FS + "C2.html", "<STRONG>Method Summary</STRONG>"},
- {BUG_ID + FS + "pkg2" + FS + "C2.html", "<B>Comments:</B>"},
{BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<STRONG>Class Summary</STRONG>"}};
private static final String[] ARGS1 =
@@ -62,7 +63,7 @@
public static void main(String[] args) {
TestHtmlStrongTag tester = new TestHtmlStrongTag();
run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, TEST2, NO_TEST);
+ run(tester, ARGS2, TEST2, NEGATED_TEST2);
tester.printSummary();
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,478 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6786688
+ * @summary HTML tables should have table summary, caption and table headers.
+ * @author Bhavesh Patel
+ * @library ../lib/
+ * @build JavadocTester
+ * @build TestHtmlTableTags
+ * @run main TestHtmlTableTags
+ */
+
+public class TestHtmlTableTags extends JavadocTester {
+
+ //Test information.
+ private static final String BUG_ID = "6786688";
+
+ //Javadoc arguments.
+ private static final String[] ARGS = new String[] {
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
+ };
+
+ //Input for string tests for HTML table tags.
+ private static final String[][] TABLE_TAGS_TEST = {
+ /*
+ * Test for validating summary for HTML tables
+ */
+
+ //Package summary
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Class Summary table, " +
+ "listing classes, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Interface Summary table, " +
+ "listing interfaces, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Enum Summary table, " +
+ "listing enums, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Annotation Types Summary table, " +
+ "listing annotation types, and an explanation\">"
+ },
+ // Class documentation
+ {BUG_ID + FS + "pkg1" + FS + "C1.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Field Summary table, " +
+ "listing fields, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "C1.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Method Summary table, " +
+ "listing methods, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Nested Class Summary table, " +
+ "listing nested classes, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Constructor Summary table, " +
+ "listing constructors, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.ModalExclusionType.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Enum Constant Summary table, " +
+ "listing enum constants, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C3.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Required Element Summary table, " +
+ "listing required elements, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C4.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Optional Element Summary table, " +
+ "listing optional elements, and an explanation\">"
+ },
+ // Class use documentation
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "I1.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing packages, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing fields, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing methods, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing fields, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing methods, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.ModalExclusionType.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing packages, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.ModalExclusionType.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing methods, and an explanation\">"
+ },
+ // Package use documentation
+ {BUG_ID + FS + "pkg1" + FS + "package-use.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing packages, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "package-use.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing classes, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-use.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing packages, and an explanation\">"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-use.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Use table, " +
+ "listing classes, and an explanation\">"
+ },
+ // Deprecated
+ {BUG_ID + FS + "deprecated-list.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Deprecated Fields table, " +
+ "listing deprecated fields, and an explanation\">"
+ },
+ {BUG_ID + FS + "deprecated-list.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Deprecated Methods table, " +
+ "listing deprecated methods, and an explanation\">"
+ },
+ // Constant values
+ {BUG_ID + FS + "constant-values.html",
+ "<TABLE BORDER=\"1\" CELLPADDING=\"3\" CELLSPACING=\"0\" " +
+ "SUMMARY=\"Constant Field Values table, listing " +
+ "constant fields, and values\">"
+ },
+ // Overview Summary
+ {BUG_ID + FS + "overview-summary.html",
+ "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLPADDING=\"3\" " +
+ "CELLSPACING=\"0\" SUMMARY=\"Packages table, " +
+ "listing packages, and an explanation\">"
+ },
+
+ /*
+ * Test for validating caption for HTML tables
+ */
+
+ //Package summary
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Class Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Interface Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Enum Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Annotation Types Summary</CAPTION>"
+ },
+ // Class documentation
+ {BUG_ID + FS + "pkg1" + FS + "C1.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Field Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "C1.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Method Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Nested Class Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Constructor Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.ModalExclusionType.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Enum Constant Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C3.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Required Element Summary</CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C4.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Optional Element Summary</CAPTION>"
+ },
+ // Class use documentation
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "I1.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Packages that use <A HREF=\"../../pkg1/I1.html\" " +
+ "title=\"interface in pkg1\">I1</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Fields in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> " +
+ "declared as <A HREF=\"../../pkg1/C1.html\" title=\"class in pkg1\">" +
+ "C1</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> " +
+ "with parameters of type <A HREF=\"../../pkg1/C1.html\" " +
+ "title=\"class in pkg1\">C1</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.html",
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Fields in <A HREF=\"../../pkg1/package-summary.html\">pkg1</A> " +
+ "declared as <A HREF=\"../../pkg2/C2.html\" title=\"class in pkg2\">" +
+ "C2</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.html",
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg1/package-summary.html\">pkg1</A> " +
+ "with parameters of type <A HREF=\"../../pkg2/C2.html\" " +
+ "title=\"class in pkg2\">C2</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.ModalExclusionType.html",
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> " +
+ "that return <A HREF=\"../../pkg2/C2.ModalExclusionType.html\" " +
+ "title=\"enum in pkg2\">C2.ModalExclusionType</A></CAPTION>"
+ },
+ // Package use documentation
+ {BUG_ID + FS + "pkg1" + FS + "package-use.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Packages that use <A HREF=\"../pkg1/package-summary.html\">" +
+ "pkg1</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "package-use.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Classes in <A HREF=\"../pkg1/package-summary.html\">pkg1</A> " +
+ "used by <A HREF=\"../pkg1/package-summary.html\">pkg1</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-use.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Packages that use <A HREF=\"../pkg2/package-summary.html\">" +
+ "pkg2</A></CAPTION>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-use.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Classes in <A HREF=\"../pkg2/package-summary.html\">pkg2</A> " +
+ "used by <A HREF=\"../pkg1/package-summary.html\">pkg1</A></CAPTION>"
+ },
+ // Deprecated
+ {BUG_ID + FS + "deprecated-list.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Deprecated Fields</CAPTION>"
+ },
+ {BUG_ID + FS + "deprecated-list.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Deprecated Methods</CAPTION>"
+ },
+ // Constant values
+ {BUG_ID + FS + "constant-values.html",
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "pkg1.<A HREF=\"pkg1/C1.html\" title=\"class in pkg1\">C1</A></CAPTION>"
+ },
+ // Overview Summary
+ {BUG_ID + FS + "overview-summary.html",
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Packages</CAPTION>"
+ },
+
+ /*
+ * Test for validating headers for HTML tables
+ */
+
+ //Package summary
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Class</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Interface</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Enum</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Annotation Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Description</TH>"
+ },
+ // Class documentation
+ {BUG_ID + FS + "pkg1" + FS + "C1.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Field and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "C1.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Method and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Class and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Constructor and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C2.ModalExclusionType.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Enum Constant and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C3.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Required Element and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "C4.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Optional Element and Description</TH>"
+ },
+ // Class use documentation
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "I1.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Package</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Field and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Method and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Field and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Method and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.ModalExclusionType.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Package</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "C2.ModalExclusionType.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Method and Description</TH>"
+ },
+ // Package use documentation
+ {BUG_ID + FS + "pkg1" + FS + "package-use.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Package</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ },
+ {BUG_ID + FS + "pkg1" + FS + "package-use.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Class and Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-use.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Package</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ },
+ {BUG_ID + FS + "pkg2" + FS + "package-use.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Class and Description</TH>"
+ },
+ // Deprecated
+ {BUG_ID + FS + "deprecated-list.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Field and Description</TH>"
+ },
+ {BUG_ID + FS + "deprecated-list.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Method and Description</TH>"
+ },
+ // Constant values
+ {BUG_ID + FS + "constant-values.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Modifier and Type</TH>" + NL + "<TH CLASS=\"TableHeader\"" +
+ " SCOPE=\"col\" NOWRAP>Constant Field</TH>" + NL +
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>Value</TH>"
+ },
+ // Overview Summary
+ {BUG_ID + FS + "overview-summary.html",
+ "<TH CLASS=\"TableHeader\" SCOPE=\"col\" NOWRAP>" +
+ "Package</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>"
+ }
+ };
+ private static final String[][] NEGATED_TEST = NO_TEST;
+
+ /**
+ * The entry point of the test.
+ * @param args the array of command line arguments.
+ */
+ public static void main(String[] args) {
+ TestHtmlTableTags tester = new TestHtmlTableTags();
+ run(tester, ARGS, TABLE_TAGS_TEST, NEGATED_TEST);
+ tester.printSummary();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getBugId() {
+ return BUG_ID;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getBugName() {
+ return getClass().getName();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg1/C1.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package pkg1;
+
+import pkg2.*;
+
+/**
+ * A test class.
+ *
+ * @author Bhavesh Patel
+ */
+public class C1 implements I1 {
+
+ /**
+ * Test field for class.
+ */
+ public C2 field;
+
+ /**
+ * Constant value.
+ */
+ public static final String CONSTANT1 = "C1";
+
+ /**
+ * A test constructor.
+ */
+ C1() {
+ }
+
+ /**
+ * Method thats does some processing.
+ *
+ * @param param some parameter that is passed.
+ * @return a sample object.
+ */
+ public C2 method(C2 param) {
+ return param;
+ }
+
+ /**
+ * Method that is implemented.
+ *
+ * @param a some random value.
+ * @param b some random value.
+ */
+ public void method1(int a, int b) {
+ }
+
+ /**
+ * Another inherited method.
+ * @param c some value.
+ */
+ public void method2(int c) {
+ }
+
+ /**
+ * @deprecated don't use this anymore.
+ */
+ public void deprecatedMethod() {}
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg1/I1.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package pkg1;
+
+/**
+ * A sample interface used to test table tags.
+ *
+ * @author Bhavesh Patel
+ */
+public interface I1 {
+
+ /**
+ * A test method.
+ *
+ * @param a blah.
+ * @param b blah.
+ */
+ void method1(int a, int b);
+
+ /**
+ * Another test method.
+ *
+ * @param c blah.
+ */
+ void method2(int c);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg1/package-info.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * Test package 1 used to test table tags.
+ */
+package pkg1;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/C2.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package pkg2;
+
+import pkg1.*;
+
+/**
+ * Another test class.
+ *
+ * @author Bhavesh Patel
+ */
+public class C2 {
+
+ /**
+ * A test field.
+ */
+ public C1 field;
+
+ /**
+ * @deprecated don't use this field anymore.
+ */
+ public C1 dep_field;
+
+ /**
+ * A sample enum.
+ */
+ public static enum ModalExclusionType {
+ /**
+ * Test comment.
+ */
+ NO_EXCLUDE,
+ /**
+ * Another comment.
+ */
+ APPLICATION_EXCLUDE
+ };
+
+ /**
+ * A string constant.
+ */
+ public static final String CONSTANT1 = "C2";
+
+ /**
+ * A sample method.
+ *
+ * @param param some parameter.
+ * @return a test object.
+ */
+ public C1 method(C1 param) {
+ return param;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/C3.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package pkg2;
+
+import java.lang.annotation.*;
+
+/**
+ * Test Annotation class.
+ *
+ * @author Bhavesh Patel
+ */
+public @interface C3 {
+ /**
+ * Comment.
+ */
+ String[] value();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/C4.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package pkg2;
+
+import java.lang.annotation.*;
+
+/*
+ * A sample interface.
+ */
+public @interface C4 {
+ boolean value() default true;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/pkg2/package-info.java Thu Mar 19 19:00:54 2009 -0700
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * Test package 2 used to test table tags.
+ */
+package pkg2;
--- a/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java Thu Mar 19 19:00:54 2009 -0700
@@ -58,7 +58,8 @@
"<A HREF=\"../pkg/Coin.html\" title=\"enum in pkg\">Coin</A>>"
},
//Check for enum constant section
- {BUG_ID + FS + "pkg" + FS + "Coin.html", "<STRONG>Enum Constant Summary</STRONG>"},
+ {BUG_ID + FS + "pkg" + FS + "Coin.html", "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Enum Constant Summary</CAPTION>"},
//Detail for enum constant
{BUG_ID + FS + "pkg" + FS + "Coin.html",
"<STRONG><A HREF=\"../pkg/Coin.html#Dime\">Dime</A></STRONG>"},
@@ -158,9 +159,11 @@
"public @interface <STRONG>AnnotationType</STRONG>"},
//Make sure member summary headings are correct.
{BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
- "<STRONG>Required Element Summary</STRONG>"},
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Required Element Summary</CAPTION>"},
{BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
- "<STRONG>Optional Element Summary</STRONG>"},
+ "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Optional Element Summary</CAPTION>"},
//Make sure element detail heading is correct
{BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
"Element Detail"},
@@ -286,39 +289,57 @@
//ClassUseTest1: <T extends Foo & Foo2>
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo.html\" " +
+ "title=\"class in pkg2\">Foo</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
"<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest1.html\" title=\"class in pkg2\">ClassUseTest1<T extends Foo & Foo2></A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo.html\" " +
+ "title=\"class in pkg2\">Foo</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
"<TD><CODE><STRONG>ClassUseTest1.</STRONG><STRONG><A HREF=\"../../pkg2/ClassUseTest1.html#method(T)\">method</A></STRONG>(T t)</CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Fields in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Fields in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo.html\" " +
+ "title=\"class in pkg2\">Foo</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo.html",
"<A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A><<A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A>></CODE></FONT></TD>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Fields in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> declared as <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Fields in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> declared as <A HREF=\"../../pkg2/ParamTest.html\" " +
+ "title=\"class in pkg2\">ParamTest</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
"<A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A><<A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A>></CODE></FONT></TD>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">Foo2</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo2.html\" " +
+ "title=\"interface in pkg2\">Foo2</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
"<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest1.html\" title=\"class in pkg2\">ClassUseTest1<T extends Foo & Foo2></A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">Foo2</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo2.html\" " +
+ "title=\"interface in pkg2\">Foo2</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo2.html",
"<TD><CODE><STRONG>ClassUseTest1.</STRONG><STRONG><A HREF=\"../../pkg2/ClassUseTest1.html#method(T)\">method</A></STRONG>(T t)</CODE>"
@@ -326,44 +347,66 @@
//ClassUseTest2: <T extends ParamTest<Foo3>>
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest.html\" " +
+ "title=\"class in pkg2\">ParamTest</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
"<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest2.html\" title=\"class in pkg2\">ClassUseTest2<T extends ParamTest<<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>>></A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest.html\" " +
+ "title=\"class in pkg2\">ParamTest</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
"<TD><CODE><STRONG>ClassUseTest2.</STRONG><STRONG><A HREF=\"../../pkg2/ClassUseTest2.html#method(T)\">method</A></STRONG>(T t)</CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Fields in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> declared as <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Fields in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> declared as <A HREF=\"../../pkg2/ParamTest.html\" " +
+ "title=\"class in pkg2\">ParamTest</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
"<A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A><<A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A>></CODE></FONT></TD>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest.html\" " +
+ "title=\"class in pkg2\">ParamTest</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest.html",
"<T extends <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A><<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>>>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo3.html\" " +
+ "title=\"class in pkg2\">Foo3</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
"<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest2.html\" title=\"class in pkg2\">ClassUseTest2<T extends ParamTest<<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>>></A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo3.html\" " +
+ "title=\"class in pkg2\">Foo3</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
"<TD><CODE><STRONG>ClassUseTest2.</STRONG><STRONG><A HREF=\"../../pkg2/ClassUseTest2.html#method(T)\">method</A></STRONG>(T t)</CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> that return types with arguments of type <A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> that return types with arguments of type " +
+ "<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
+ "Foo3</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo3.html",
"<T extends <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A><<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>>>"
@@ -371,38 +414,61 @@
//ClassUseTest3: <T extends ParamTest2<List<? extends Foo4>>>
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">ParamTest2</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type " +
+ "<A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
+ "ParamTest2</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
"<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest3.html\" title=\"class in pkg2\">ClassUseTest3<T extends ParamTest2<java.util.List<? extends Foo4>>></A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">ParamTest2</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type " +
+ "<A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
+ "ParamTest2</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
"<TD><CODE><STRONG>ClassUseTest3.</STRONG><STRONG><A HREF=\"../../pkg2/ClassUseTest3.html#method(T)\">method</A></STRONG>(T t)</CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">ParamTest2</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type " +
+ "<A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
+ "ParamTest2</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "ParamTest2.html",
"<T extends <A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">ParamTest2</A><java.util.List<? extends <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>>>>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Classes in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type " +
+ "<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
+ "Foo4</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
"<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest3.html\" title=\"class in pkg2\">ClassUseTest3<T extends ParamTest2<java.util.List<? extends Foo4>>></A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type parameters of type <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type parameters of type <A HREF=\"../../pkg2/Foo4.html\" " +
+ "title=\"class in pkg2\">Foo4</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
"<TD><CODE><STRONG>ClassUseTest3.</STRONG><STRONG><A HREF=\"../../pkg2/ClassUseTest3.html#method(T)\">method</A></STRONG>(T t)</CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> that return types with arguments of type <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A></FONT></TH>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Methods in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> that return types with arguments of type " +
+ "<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
+ "Foo4</A></CAPTION>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
"<T extends <A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">ParamTest2</A><java.util.List<? extends <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>>>>"
@@ -410,81 +476,147 @@
//Type parameters in constructor and method args
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Method parameters in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type arguments of type <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
- "<CODE> void</CODE></FONT></TD>" + NL +
- "<TD><CODE><STRONG>ClassUseTest3.</STRONG><STRONG><A HREF=\"../../pkg2/ClassUseTest3.html#method(java.util.Set)\">method</A></STRONG>(java.util.Set<<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>> p)</CODE>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Method parameters in <A HREF=\"../../pkg2/package-summary.html\">pkg2" +
+ "</A> with type arguments of type <A HREF=\"../../pkg2/Foo4.html\" " +
+ "title=\"class in pkg2\">Foo4</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Modifier and Type" +
+ "</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Method and Description</TH>" + NL +
+ "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
+ "<CODE> void</CODE></FONT></TD>" + NL +
+ "<TD><CODE><STRONG>ClassUseTest3.</STRONG><STRONG>" +
+ "<A HREF=\"../../pkg2/ClassUseTest3.html#method(java.util.Set)\">" +
+ "method</A></STRONG>(java.util.Set<<A HREF=\"../../pkg2/Foo4.html\" " +
+ "title=\"class in pkg2\">Foo4</A>> p)</CODE>"
},
{BUG_ID + FS + "pkg2" + FS + "class-use" + FS + "Foo4.html",
- "<TH ALIGN=\"left\" COLSPAN=\"2\">Constructor parameters in <A HREF=\"../../pkg2/package-summary.html\">pkg2</A> with type arguments of type <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest3.html#ClassUseTest3(java.util.Set)\">ClassUseTest3</A></STRONG>(java.util.Set<<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>> p)</CODE>"
+ "<CAPTION CLASS=\"TableSubCaption\">" + NL +
+ "Constructor parameters in <A HREF=\"../../pkg2/package-summary.html\">" +
+ "pkg2</A> with type arguments of type <A HREF=\"../../pkg2/Foo4.html\" " +
+ "title=\"class in pkg2\">Foo4</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Constructor and Description" +
+ "</TH>" + NL + "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD><CODE><STRONG><A HREF=\"../../pkg2/ClassUseTest3.html#ClassUseTest3" +
+ "(java.util.Set)\">ClassUseTest3</A></STRONG>(java.util.Set<" +
+ "<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
+ "Foo4</A>> p)</CODE>"
},
//=================================
// Annotatation Type Usage
//=================================
{BUG_ID + FS + "pkg" + FS + "class-use" + FS + "AnnotationType.html",
- "<FONT SIZE=\"+2\">" + NL +
- "Packages with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">AnnotationType</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD><A HREF=\"../../pkg/package-summary.html\"><STRONG>pkg</STRONG></A></TD>"
+ "Packages with annotations of type " +
+ "<A HREF=\"../../pkg/AnnotationType.html\" " +
+ "title=\"annotation in pkg\">AnnotationType</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Package" +
+ "</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Description</TH>" + NL + "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD><A HREF=\"../../pkg/package-summary.html\"><STRONG>pkg" +
+ "</STRONG></A></TD>"
},
{BUG_ID + FS + "pkg" + FS + "class-use" + FS + "AnnotationType.html",
- "Classes in <A HREF=\"../../pkg/package-summary.html\">pkg</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">AnnotationType</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
- "<CODE> class</CODE></FONT></TD>" + NL +
- "<TD><CODE><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html\" title=\"class in pkg\">AnnotationTypeUsage</A></STRONG></CODE>"
+ "Classes in <A HREF=\"../../pkg/package-summary.html\">pkg" +
+ "</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" " +
+ "title=\"annotation in pkg\">AnnotationType</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Modifier and Type" +
+ "</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Class and Description</TH>" + NL +
+ "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
+ "<CODE> class</CODE></FONT></TD>" + NL +
+ "<TD><CODE><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html\" " +
+ "title=\"class in pkg\">AnnotationTypeUsage</A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg" + FS + "class-use" + FS + "AnnotationType.html",
- "Fields in <A HREF=\"../../pkg/package-summary.html\">pkg</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">AnnotationType</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
- "<CODE> int</CODE></FONT></TD>" + NL +
- "<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html#field\">field</A></STRONG></CODE>"
+ "Fields in <A HREF=\"../../pkg/package-summary.html\">pkg" +
+ "</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" " +
+ "title=\"annotation in pkg\">AnnotationType</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Modifier and Type" +
+ "</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Field and Description</TH>" + NL +
+ "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
+ "<CODE> int</CODE></FONT></TD>" + NL +
+ "<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG>" +
+ "<A HREF=\"../../pkg/AnnotationTypeUsage.html#field\">field" +
+ "</A></STRONG></CODE>"
},
{BUG_ID + FS + "pkg" + FS + "class-use" + FS + "AnnotationType.html",
- "Methods in <A HREF=\"../../pkg/package-summary.html\">pkg</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">AnnotationType</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
- "<CODE> void</CODE></FONT></TD>" + NL +
- "<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html#method()\">method</A></STRONG>()</CODE>"
+ "Methods in <A HREF=\"../../pkg/package-summary.html\">pkg" +
+ "</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" " +
+ "title=\"annotation in pkg\">AnnotationType</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Modifier and Type" +
+ "</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Method and Description</TH>" + NL +
+ "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
+ "<CODE> void</CODE></FONT></TD>" + NL +
+ "<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG>" +
+ "<A HREF=\"../../pkg/AnnotationTypeUsage.html#method()\">" +
+ "method</A></STRONG>()</CODE>"
},
{BUG_ID + FS + "pkg" + FS + "class-use" + FS + "AnnotationType.html",
- "Method parameters in <A HREF=\"../../pkg/package-summary.html\">pkg</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">AnnotationType</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
- "<CODE> void</CODE></FONT></TD>" + NL +
- "<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html#methodWithParams(int, int)\">methodWithParams</A></STRONG>(int documented," + NL +
- " int undocmented)</CODE>"
+ "Method parameters in <A HREF=\"../../pkg/package-summary.html\">pkg" +
+ "</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" " +
+ "title=\"annotation in pkg\">AnnotationType</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Modifier and Type" +
+ "</TH>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Method and Description</TH>" + NL +
+ "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\"><FONT SIZE=\"-1\">" + NL +
+ "<CODE> void</CODE></FONT></TD>" + NL +
+ "<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG>" +
+ "<A HREF=\"../../pkg/AnnotationTypeUsage.html#methodWithParams" +
+ "(int, int)\">methodWithParams</A></STRONG>(int documented," + NL +
+ " int undocmented)</CODE>"
},
{BUG_ID + FS + "pkg" + FS + "class-use" + FS + "AnnotationType.html",
- "Constructors in <A HREF=\"../../pkg/package-summary.html\">pkg</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">AnnotationType</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD><CODE><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html#AnnotationTypeUsage()\">AnnotationTypeUsage</A></STRONG>()</CODE>"
+ "Constructors in <A HREF=\"../../pkg/package-summary.html\">pkg" +
+ "</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" " +
+ "title=\"annotation in pkg\">AnnotationType</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Constructor and Description" +
+ "</TH>" + NL + "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD><CODE><STRONG><A HREF=\"../../pkg/" +
+ "AnnotationTypeUsage.html#AnnotationTypeUsage()\">" +
+ "AnnotationTypeUsage</A></STRONG>()</CODE>"
},
{BUG_ID + FS + "pkg" + FS + "class-use" + FS + "AnnotationType.html",
- "Constructor parameters in <A HREF=\"../../pkg/package-summary.html\">pkg</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">AnnotationType</A></FONT></TH>" + NL +
- "</TR>" + NL +
- "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
- "<TD><CODE><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html#AnnotationTypeUsage(int, int)\">AnnotationTypeUsage</A></STRONG>(int documented," + NL +
- " int undocmented)</CODE>"
+ "Constructor parameters in <A HREF=\"../../pkg/package-summary.html\">pkg" +
+ "</A> with annotations of type <A HREF=\"../../pkg/AnnotationType.html\" " +
+ "title=\"annotation in pkg\">AnnotationType</A></CAPTION>" + NL +
+ "<TR>" + NL + "<TH CLASS=\"TableHeader\" SCOPE=\"col\"" +
+ " NOWRAP>Constructor and Description" +
+ "</TH>" + NL + "</TR>" + NL +
+ "<TR BGCOLOR=\"white\" CLASS=\"TableRowColor\">" + NL +
+ "<TD><CODE><STRONG><A HREF=\"../../pkg/" +
+ "AnnotationTypeUsage.html#AnnotationTypeUsage(int, int)\">" +
+ "AnnotationTypeUsage</A></STRONG>(int documented," + NL +
+ " int undocmented)</CODE>"
},
//=================================
--- a/langtools/test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java Tue Mar 17 11:28:24 2009 -0700
+++ b/langtools/test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java Thu Mar 19 19:00:54 2009 -0700
@@ -46,7 +46,8 @@
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + FS + "C.html", "<STRONG>Method Summary</STRONG>"}
+ {BUG_ID + FS + "C.html", "<CAPTION CLASS=\"TableCaption\">" + NL +
+ "Method Summary</CAPTION>"}
};
private static final String[][] NEGATED_TEST = NO_TEST;