This commit is contained in:
Xiomara Jayasena 2009-04-01 08:58:42 -07:00
commit 4c089452ee
47 changed files with 1714 additions and 233 deletions

View File

@ -25,3 +25,4 @@ caf58ffa084568990cbb3441f9ae188e36b31770 jdk7-b42
1bf51a4c2627c2f0e0cbcc2cf0421bdb37f1f2b2 jdk7-b48
6b84b04a80afe23262377c60913eebfc898f14c4 jdk7-b49
5da0e6b9f4f18ef483c977337214b12ee0e1fc8f jdk7-b50
a25c5ec5e40e07733d1ff9898a0abe36159288ff jdk7-b51

View File

@ -25,3 +25,4 @@ d7744e86dedc21a8ecf6bdb73eb191b8eaf5b0da jdk7-b47
4ae9f4bfdb98f65bd957e3fe72471b320150b38e jdk7-b48
aee93a8992d2389121eb610c00a86196f3e2b9b0 jdk7-b49
5111e13e44e542fe945b47ab154546daec36737d jdk7-b50
0f0189d55ce4a1f7840da7582ac7d970b3b7ab15 jdk7-b51

View File

@ -25,3 +25,4 @@ ccd6a16502e0650d91d85c4b86be05cbcd461a87 jdk7-b42
0be222241fd405e48915647facfaa176621b39b9 jdk7-b48
d70978bc64bc7a04be7797ab0dcd9b7b1b3a6bff jdk7-b49
0edbd0074b02b42b2b83cc47cb391d4869b7a8ec jdk7-b50
3eb8f1047a7402a9a79937d1c39560e931e91da2 jdk7-b51

View File

@ -25,3 +25,4 @@ fcb923bad68e2b10380a030ea83a723f4dc3d4d6 jdk7-b47
bcb33806d186561c781992e5f4d8a90bb033f9f0 jdk7-b48
8b22ccb5aba2c6c11bddf6488a7bb7ef5b4bf2be jdk7-b49
dae503d9f04c1a11e182dbf7f770509c28dc0609 jdk7-b50
2581d90c6c9b2012da930eb4742add94a03069a0 jdk7-b51

View File

@ -25,3 +25,4 @@ d711ad1954b294957737ea386cfd4d3c05028a36 jdk7-b47
39de90eb4822cafaacc69edd67ab5547e55ae920 jdk7-b48
5c1f24531903573c1830775432276da567243f9c jdk7-b49
e8514e2be76d90889ebdb90d627aca2db5c150c6 jdk7-b50
ae890d80d5dffcd4dc77a1f17d768e192d1852c7 jdk7-b51

View File

@ -25,3 +25,4 @@ af4a3eeb7812a5d09a241c50b51b3c648a9d45c1 jdk7-b46
01e5dd31d0c10a2db3d50db346905d2d3db45e88 jdk7-b48
18ca864890f3d4ed942ecbffb78c936a57759921 jdk7-b49
5be52db581f1ea91ab6e0eb34ba7f439125bfb16 jdk7-b50
41a66a42791ba90bff489af72cbfea71be9b40a5 jdk7-b51

View File

@ -25,3 +25,4 @@ b4ac413b1f129eeef0acab3f31081c1b7dfe3b27 jdk7-b47
5fbd9ea7def17186693b6f7099b5d0dc73903eee jdk7-b48
8311105ea7a3db7bcbcb2b696459127c7f2297a4 jdk7-b49
58ba2cd5a25053684ec53205d95edeeaa0006f13 jdk7-b50
fea0898259ae41c73620b1815aa48f036216155c jdk7-b51

View File

@ -25,3 +25,5 @@ be546a6c08e3c31fba2edcae1de43ae3515d2e59 jdk7-b46
c53007f34195f69223bdd4125ec6c0740f7d6736 jdk7-b48
d17d927ad9bdfafae32451645d182acb7bed7be6 jdk7-b49
46f2f6ed96f13fc49fec3d1b6aa616686128cb57 jdk7-b50
8c55d5b0ed71ed3a749eb97e4eab79b4831649b8 jdk7-b51
29329051d483d39f66073752ba4afbf29d893cfe jdk7-b52

View File

@ -60,7 +60,11 @@ public abstract class AbstractMemberWriter {
/*** 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 @@ public abstract class AbstractMemberWriter {
* 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 @@ public abstract class AbstractMemberWriter {
/**
* 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)

View File

@ -35,6 +35,7 @@ import java.util.*;
* 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 @@ public abstract class AbstractPackageIndexWriter extends HtmlDocletWriter {
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 @@ public abstract class AbstractPackageIndexWriter extends HtmlDocletWriter {
* 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 @@ public abstract class AbstractPackageIndexWriter extends HtmlDocletWriter {
* @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) {

View File

@ -34,6 +34,7 @@ import com.sun.tools.doclets.internal.toolkit.*;
* 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 @@ public class AnnotationTypeOptionalMemberWriterImpl extends
/**
* {@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");
}
/**

View File

@ -34,6 +34,7 @@ import com.sun.tools.doclets.internal.toolkit.*;
* 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 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
/**
* {@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");
}
/**

View File

@ -34,6 +34,7 @@ import java.util.*;
* Generate class usage information.
*
* @author Robert G. Field
* @author Bhavesh Patel (Modified)
*/
public class ClassUseWriter extends SubWriterHolderWriter {
@ -65,6 +66,13 @@ public class ClassUseWriter extends SubWriterHolderWriter {
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 @@ public class ClassUseWriter extends SubWriterHolderWriter {
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 @@ public class ClassUseWriter extends SubWriterHolderWriter {
}
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 @@ public class ClassUseWriter extends SubWriterHolderWriter {
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 @@ public class ClassUseWriter extends SubWriterHolderWriter {
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);
}
/**

View File

@ -35,6 +35,7 @@ import java.util.*;
* 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 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter
*/
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 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter
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 @@ public class ConstantsSummaryWriterImpl extends HtmlDocletWriter
* @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) {

View File

@ -37,6 +37,7 @@ import com.sun.tools.doclets.internal.toolkit.util.*;
*
* @author Robert Field
* @author Atul M Dambalkar
* @author Bhavesh Patel (Modified)
*/
public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
implements ConstructorWriter, MemberSummaryWriter {
@ -211,8 +212,34 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
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) {

View File

@ -35,6 +35,7 @@ import java.io.*;
*
* @see java.util.List
* @author Atul M Dambalkar
* @author Bhavesh Patel (Modified)
*/
public class DeprecatedListWriter extends SubWriterHolderWriter {
@ -55,6 +56,28 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
"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 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
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();

View File

@ -35,6 +35,7 @@ import com.sun.tools.doclets.internal.toolkit.util.*;
* 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 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
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) {

View File

@ -37,6 +37,7 @@ import com.sun.tools.doclets.internal.toolkit.util.*;
* @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 @@ public class FieldWriterImpl extends AbstractMemberWriter
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) {

View File

@ -236,17 +236,19 @@ public class HtmlDocletWriter extends HtmlDocWriter {
configuration.tagletManager.getCustomTags(doc),
getTagletWriterInstance(false), output);
String outputString = output.toString().trim();
// For RootDoc and ClassDoc, this section is not the definition description
// but the start of definition list.
// For RootDoc, ClassDoc and PackageDoc, this section is not the
// definition description but the start of definition list.
if (!outputString.isEmpty()) {
if (!(doc instanceof RootDoc || doc instanceof ClassDoc)) {
if (!(doc instanceof RootDoc || doc instanceof ClassDoc ||
doc instanceof PackageDoc)) {
printMemberDetailsListStartTag();
dd();
}
printTagsInfoHeader();
print(outputString);
printTagsInfoFooter();
if (!(doc instanceof RootDoc || doc instanceof ClassDoc))
if (!(doc instanceof RootDoc || doc instanceof ClassDoc ||
doc instanceof PackageDoc))
ddEnd();
}
}
@ -784,6 +786,15 @@ public class HtmlDocletWriter extends HtmlDocWriter {
table(1, "100%", 3, 0);
}
/**
* 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()}.
*/
@ -799,6 +810,40 @@ public class HtmlDocletWriter extends HtmlDocWriter {
print("<TD ALIGN=\"right\" VALIGN=\"top\" WIDTH=\"1%\">");
}
/**
* 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.
*

View File

@ -38,6 +38,7 @@ import com.sun.tools.doclets.internal.toolkit.taglets.*;
* @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 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
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) {

View File

@ -37,6 +37,7 @@ import com.sun.tools.doclets.internal.toolkit.util.*;
* @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 @@ public class NestedClassWriterImpl extends AbstractMemberWriter
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) {

View File

@ -114,7 +114,7 @@ public class PackageIndexFrameWriter extends AbstractPackageIndexWriter {
*
* @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);
}

View File

@ -36,6 +36,7 @@ import java.util.*;
* 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 @@ public class PackageIndexWriter extends AbstractPackageIndexWriter {
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 @@ public class PackageIndexWriter extends AbstractPackageIndexWriter {
/**
* 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");
}
/**

View File

@ -34,6 +34,7 @@ import java.util.*;
* Generate package usage information.
*
* @author Robert G. Field
* @author Bhavesh Patel (Modified)
*/
public class PackageUseWriter extends SubWriterHolderWriter {
@ -131,11 +132,12 @@ public class PackageUseWriter extends SubWriterHolderWriter {
}
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 @@ public class PackageUseWriter extends SubWriterHolderWriter {
}
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 @@ public class PackageUseWriter extends SubWriterHolderWriter {
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()) {

View File

@ -38,6 +38,7 @@ import java.util.*;
* 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 @@ public class PackageWriterImpl extends HtmlDocletWriter
/**
* {@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]) ||
@ -148,15 +150,24 @@ public class PackageWriterImpl extends HtmlDocletWriter
}
}
/**
* 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");
}
/**

View File

@ -33,6 +33,7 @@ import java.io.*;
* 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 @@ public class StylesheetWriter extends HtmlDocletWriter {
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("");
}

View File

@ -43,6 +43,7 @@ import java.io.*;
*
* @author Robert Field
* @author Atul M Dambalkar
* @author Bhavesh Patel (Modified)
*/
public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
@ -72,10 +73,11 @@ public abstract class SubWriterHolderWriter extends HtmlDocletWriter {
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) {

View File

@ -37,6 +37,7 @@ import com.sun.tools.doclets.internal.toolkit.util.*;
*
* @since 1.2
* @author Atul M Dambalkar
* @author Bhavesh Patel (Modified)
*/
public class HtmlWriter extends PrintWriter {
@ -66,6 +67,21 @@ public class HtmlWriter extends PrintWriter {
*/
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.
*
@ -86,6 +102,15 @@ public class HtmlWriter extends PrintWriter {
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"));
}
/**
@ -802,6 +827,26 @@ public class HtmlWriter extends PrintWriter {
"\" SUMMARY=\"\">");
}
/**
* Print HTML &lt;TABLE BORDER="border" WIDTH="width"
* CELLPADDING="cellpadding" CELLSPACING="cellspacing" SUMMARY="summary"&gt; 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 &lt;TABLE BORDER="border" CELLPADDING="cellpadding"
* CELLSPACING="cellspacing"&gt; tag.
@ -818,6 +863,23 @@ public class HtmlWriter extends PrintWriter {
"\" SUMMARY=\"\">");
}
/**
* Print HTML &lt;TABLE BORDER="border" CELLPADDING="cellpadding"
* CELLSPACING="cellspacing" SUMMARY="summary"&gt; 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 &lt;TABLE BORDER="border" WIDTH="width"&gt;
*
@ -912,6 +974,23 @@ public class HtmlWriter extends PrintWriter {
println("-->");
}
/**
* Print &lt;CAPTION CLASS="stylename"&gt; tag. Adds a newline character
* at the end.
*
* @param stylename style to be applied.
*/
public void captionStyle(String stylename) {
println("<CAPTION CLASS=\"" + stylename + "\">");
}
/**
* Print &lt;/CAPTION&gt; tag. Add a newline character at the end.
*/
public void captionEnd() {
println("</CAPTION>");
}
/**
* Print &lt;TR BGCOLOR="color" CLASS="stylename"&gt; tag. Adds a newline character
* at the end.
@ -952,6 +1031,23 @@ public class HtmlWriter extends PrintWriter {
print("<TH ALIGN=\"" + align + "\">");
}
/**
* Print &lt;TH CLASS="stylename" SCOPE="scope" NOWRAP&gt; 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 &lt;TH align="align" COLSPAN=i&gt; tag.
*

View File

@ -83,6 +83,17 @@ 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.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_8=Font used in left-hand frame lists
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}

View File

@ -64,7 +64,7 @@ public interface PackageSummaryWriter {
* @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.

View File

@ -40,6 +40,7 @@ import java.lang.reflect.*;
* 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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
* 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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
if (classes.length > 0) {
packageWriter.writeClassesSummary(
classes,
configuration.getText("doclet.Class_Summary"));
configuration.getText("doclet.Class_Summary"),
classTableSummary, classTableHeader);
}
}
@ -200,7 +210,15 @@ public class PackageSummaryBuilder extends AbstractBuilder {
* 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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
if (interfaces.length > 0) {
packageWriter.writeClassesSummary(
interfaces,
configuration.getText("doclet.Interface_Summary"));
configuration.getText("doclet.Interface_Summary"),
interfaceTableSummary, interfaceTableHeader);
}
}
@ -216,7 +235,15 @@ public class PackageSummaryBuilder extends AbstractBuilder {
* 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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
* 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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
if (enums.length > 0) {
packageWriter.writeClassesSummary(
enums,
configuration.getText("doclet.Enum_Summary"));
configuration.getText("doclet.Enum_Summary"),
enumTableSummary, enumTableHeader);
}
}
@ -248,7 +285,15 @@ public class PackageSummaryBuilder extends AbstractBuilder {
* 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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
if (exceptions.length > 0) {
packageWriter.writeClassesSummary(
exceptions,
configuration.getText("doclet.Exception_Summary"));
configuration.getText("doclet.Exception_Summary"),
exceptionTableSummary, exceptionTableHeader);
}
}
@ -264,7 +310,15 @@ public class PackageSummaryBuilder extends AbstractBuilder {
* 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 @@ public class PackageSummaryBuilder extends AbstractBuilder {
if (errors.length > 0) {
packageWriter.writeClassesSummary(
errors,
configuration.getText("doclet.Error_Summary"));
configuration.getText("doclet.Error_Summary"),
errorTableSummary, errorTableHeader);
}
}

View File

@ -82,6 +82,7 @@ doclet.Exceptions=Exceptions
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.Interface=Interface
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_reference={0} (referenced by @value tag) is an unknown
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\

View File

@ -47,14 +47,16 @@ public class TestHeadings extends JavadocTester {
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 @@ public class TestHeadings extends JavadocTester {
// 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

View File

@ -25,7 +25,7 @@
/*
* @test
* @bug 6786690
* @bug 6786690 6820360
* @summary This test verifies the nesting of definition list tags.
* @author Bhavesh Patel
* @library ../lib/
@ -36,7 +36,7 @@
public class TestHtmlDefinitionListTag extends JavadocTester {
private static final String BUG_ID = "6786690";
private static final String BUG_ID = "6786690-6820360";
// Test common to all runs of javadoc. The class signature should print
// properly enclosed definition list tags and the Annotation Type
@ -55,6 +55,9 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
// serialized form should have properly nested definition list tags
// enclosing comments, tags and deprecated information.
private static final String[][] TEST_CMNT_DEPR = {
{BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<DL>" + NL +
"<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>JDK1.0</DD></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
"<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>JDK1.0</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT><DD>" +
@ -193,6 +196,9 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
// should display properly nested definition list tags for comments, tags
// and deprecated information.
private static final String[][] TEST_NODEPR = {
{BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<DL>" + NL +
"<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>JDK1.0</DD></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
"<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>JDK1.0</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT><DD>" +
@ -302,6 +308,8 @@ public class TestHtmlDefinitionListTag extends JavadocTester {
// Test for valid HTML generation which should not comprise of empty
// definition list tags.
private static final String[][] NEGATED_TEST = {
{BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "package-summary.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL></DL>"},

View File

@ -0,0 +1,29 @@
/*
* 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.
*
* @since JDK1.0
*/
package pkg1;

View File

@ -38,14 +38,15 @@ public class TestHtmlStrongTag extends JavadocTester {
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 class TestHtmlStrongTag extends JavadocTester {
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();
}

View File

@ -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();
}
}

View File

@ -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() {}
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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();
}

View File

@ -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;
}

View File

@ -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;

View File

@ -58,7 +58,8 @@ public class TestNewLanguageFeatures extends JavadocTester {
"<A HREF=\"../pkg/Coin.html\" title=\"enum in pkg\">Coin</A>&gt;"
},
//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 class TestNewLanguageFeatures extends JavadocTester {
"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 @@ public class TestNewLanguageFeatures extends JavadocTester {
//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&lt;T extends Foo & Foo2&gt;</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&nbsp;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>&lt;<A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A>&gt;</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>&lt;<A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A>&gt;</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&lt;T extends Foo & Foo2&gt;</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&nbsp;t)</CODE>"
@ -326,44 +347,66 @@ public class TestNewLanguageFeatures extends JavadocTester {
//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&lt;T extends ParamTest&lt;<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>&gt;&gt;</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&nbsp;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>&lt;<A HREF=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</A>&gt;</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",
"&lt;T extends <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A>&lt;<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>&gt;&gt;"
},
{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&lt;T extends ParamTest&lt;<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>&gt;&gt;</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&nbsp;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",
"&lt;T extends <A HREF=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</A>&lt;<A HREF=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3</A>&gt;&gt;"
@ -371,38 +414,61 @@ public class TestNewLanguageFeatures extends JavadocTester {
//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&lt;T extends ParamTest2&lt;java.util.List&lt;? extends Foo4&gt;&gt;&gt;</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&nbsp;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",
"&lt;T extends <A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">ParamTest2</A>&lt;java.util.List&lt;? extends <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>&gt;&gt;&gt;"
},
{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&lt;T extends ParamTest2&lt;java.util.List&lt;? extends Foo4&gt;&gt;&gt;</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&nbsp;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",
"&lt;T extends <A HREF=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">ParamTest2</A>&lt;java.util.List&lt;? extends <A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>&gt;&gt;&gt;"
@ -410,81 +476,147 @@ public class TestNewLanguageFeatures extends JavadocTester {
//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>&nbsp;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&lt;<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>&gt;&nbsp;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>&nbsp;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&lt;<A HREF=\"../../pkg2/Foo4.html\" " +
"title=\"class in pkg2\">Foo4</A>&gt;&nbsp;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&lt;<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">Foo4</A>&gt;&nbsp;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&lt;" +
"<A HREF=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
"Foo4</A>&gt;&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;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>&nbsp;void</CODE></FONT></TD>" + NL +
"<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG><A HREF=\"../../pkg/AnnotationTypeUsage.html#methodWithParams(int, int)\">methodWithParams</A></STRONG>(int&nbsp;documented," + NL +
" int&nbsp;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>&nbsp;void</CODE></FONT></TD>" + NL +
"<TD><CODE><STRONG>AnnotationTypeUsage.</STRONG><STRONG>" +
"<A HREF=\"../../pkg/AnnotationTypeUsage.html#methodWithParams" +
"(int, int)\">methodWithParams</A></STRONG>(int&nbsp;documented," + NL +
" int&nbsp;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&nbsp;documented," + NL +
" int&nbsp;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&nbsp;documented," + NL +
" int&nbsp;undocmented)</CODE>"
},
//=================================

View File

@ -46,7 +46,8 @@ public class TestSummaryHeading extends JavadocTester {
//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;

View File

@ -16,7 +16,7 @@
*
* 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-15301 USA.
* 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