6786690: Javadoc HTML WCAG 2.0 accessibility issues in standard doclet - DL tag and nesting issue

Reviewed-by: jjg
This commit is contained in:
Bhavesh Patel 2009-02-27 18:57:17 -08:00
parent 178049faf3
commit 5020864887
47 changed files with 1360 additions and 529 deletions

View File

@ -25,12 +25,12 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
import java.io.*;
import java.util.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
/**
* Generate Index for all the Member Names with Indexing in
* Unicode Order. This class is a base class for {@link SingleIndexWriter} and
@ -100,18 +100,22 @@ public class AbstractIndexWriter extends HtmlDocletWriter {
h2();
strong(unicode.toString());
h2End();
dl();
for (int i = 0; i < memberlist.size(); i++) {
Doc element = memberlist.get(i);
if (element instanceof MemberDoc) {
printDescription((MemberDoc)element);
} else if (element instanceof ClassDoc) {
printDescription((ClassDoc)element);
} else if (element instanceof PackageDoc) {
printDescription((PackageDoc)element);
int memberListSize = memberlist.size();
// Display the list only if there are elements to be displayed.
if (memberListSize > 0) {
dl();
for (int i = 0; i < memberListSize; i++) {
Doc element = memberlist.get(i);
if (element instanceof MemberDoc) {
printDescription((MemberDoc)element);
} else if (element instanceof ClassDoc) {
printDescription((ClassDoc)element);
} else if (element instanceof PackageDoc) {
printDescription((PackageDoc)element);
}
}
dlEnd();
}
dlEnd();
hr();
}
@ -126,8 +130,10 @@ public class AbstractIndexWriter extends HtmlDocletWriter {
printPackageLink(pkg, Util.getPackageName(pkg), true);
print(" - ");
print(configuration.getText("doclet.package") + " " + pkg.name());
dtEnd();
dd();
printSummaryComment(pkg);
ddEnd();
}
/**
@ -140,8 +146,10 @@ public class AbstractIndexWriter extends HtmlDocletWriter {
printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_INDEX, cd, true));
print(" - ");
printClassInfo(cd);
dtEnd();
dd();
printComment(cd);
ddEnd();
}
/**
@ -178,8 +186,10 @@ public class AbstractIndexWriter extends HtmlDocletWriter {
println(" - ");
printMemberDesc(member);
println();
dtEnd();
dd();
printComment(member);
ddEnd();
println();
}

View File

@ -25,12 +25,12 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import java.lang.reflect.Modifier;
import java.util.*;
import com.sun.javadoc.*;
import java.util.*;
import java.lang.reflect.Modifier;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
/**
* The base class for member writers.
@ -38,6 +38,7 @@ import java.lang.reflect.Modifier;
* @author Robert Field
* @author Atul M Dambalkar
* @author Jamie Ho (Re-write)
* @author Bhavesh Patel (Modified)
*/
public abstract class AbstractMemberWriter {
@ -232,10 +233,26 @@ public abstract class AbstractMemberWriter {
}
}
/**
* Print the deprecated output for the given member.
*
* @param member the member being documented.
*/
protected void printDeprecated(ProgramElementDoc member) {
String output = (new DeprecatedTaglet()).getTagletOutput(member,
writer.getTagletWriterInstance(false)).toString().trim();
if (!output.isEmpty()) {
writer.printMemberDetailsListStartTag();
writer.print(output);
}
}
protected void printComment(ProgramElementDoc member) {
if (member.inlineTags().length > 0) {
writer.printMemberDetailsListStartTag();
writer.dd();
writer.printInlineComment(member);
writer.ddEnd();
}
}
@ -266,6 +283,14 @@ public abstract class AbstractMemberWriter {
writer.printTags(member);
}
/**
* Write the member footer.
*/
protected void printMemberFooter() {
writer.printMemberDetailsListEndTag();
assert !writer.getMemberDetailsListPrinted();
}
/**
* Forward to containing writer
*/

View File

@ -25,11 +25,11 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.javadoc.*;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
/**
* Writes annotation type optional member documentation in HTML format.
*
@ -63,14 +63,20 @@ public class AnnotationTypeOptionalMemberWriterImpl extends
* {@inheritDoc}
*/
public void writeDefaultValueInfo(MemberDoc member) {
writer.dl();
writer.dt();
writer.strong(ConfigurationImpl.getInstance().
getText("doclet.Default"));
writer.dd();
writer.print(((AnnotationTypeElementDoc) member).defaultValue());
writer.ddEnd();
writer.dlEnd();
if (((AnnotationTypeElementDoc) member).defaultValue() != null) {
writer.printMemberDetailsListStartTag();
writer.dd();
writer.dl();
writer.dt();
writer.strong(ConfigurationImpl.getInstance().
getText("doclet.Default"));
writer.dtEnd();
writer.dd();
writer.print(((AnnotationTypeElementDoc) member).defaultValue());
writer.ddEnd();
writer.dlEnd();
writer.ddEnd();
}
}
/**

View File

@ -25,12 +25,11 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.javadoc.*;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
/**
* Writes annotation type required member documentation in HTML format.
*
@ -134,17 +133,14 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
strong(member.name());
}
writer.preEnd();
writer.dl();
assert !writer.getMemberDetailsListPrinted();
}
/**
* {@inheritDoc}
*/
public void writeComments(MemberDoc member) {
if (member.inlineTags().length > 0) {
writer.dd();
writer.printInlineComment(member);
}
printComment(member);
}
/**
@ -160,7 +156,7 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
* Write the annotation type member footer.
*/
public void writeMemberFooter() {
writer.dlEnd();
printMemberFooter();
}
/**
@ -267,9 +263,7 @@ public class AnnotationTypeRequiredMemberWriterImpl extends AbstractMemberWriter
* {@inheritDoc}
*/
public void writeDeprecated(MemberDoc member) {
print(((TagletOutputImpl)
(new DeprecatedTaglet()).getTagletOutput(member,
writer.getTagletWriterInstance(false))).toString());
printDeprecated(member);
}
private Type getType(MemberDoc member) {

View File

@ -25,10 +25,10 @@
package com.sun.tools.doclets.formats.html;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.builders.*;
import com.sun.javadoc.*;
/**
* Generate the Class Information Page.
@ -165,8 +165,6 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
* {@inheritDoc}
*/
public void writeAnnotationTypeSignature(String modifiers) {
dl();
dt();
preNoNewLine();
writeAnnotationInfo(annotationType);
print(modifiers);
@ -178,7 +176,6 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
} else {
strong(name);
}
dlEnd();
preEnd();
p();
}
@ -334,6 +331,7 @@ public class AnnotationTypeWriterImpl extends SubWriterHolderWriter
} else {
strongText("doclet.Enclosing_Class");
}
dtEnd();
dd();
printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS, outerClass,
false));

View File

@ -25,12 +25,12 @@
package com.sun.tools.doclets.formats.html;
import java.util.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.builders.*;
import com.sun.javadoc.*;
import java.util.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
/**
@ -171,8 +171,6 @@ public class ClassWriterImpl extends SubWriterHolderWriter
*/
public void writeClassSignature(String modifiers) {
boolean isInterface = classDoc.isInterface();
dl();
dt();
preNoNewLine();
writeAnnotationInfo(classDoc);
print(modifiers);
@ -191,7 +189,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter
Type superclass = Util.getFirstVisibleSuperClass(classDoc,
configuration());
if (superclass != null) {
dt();
println();
print("extends ");
printLink(new LinkInfoImpl(
LinkInfoImpl.CONTEXT_CLASS_SIGNATURE_PARENT_NAME,
@ -208,7 +206,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter
continue;
}
if (counter == 0) {
dt();
println();
print(isInterface? "extends " : "implements ");
} else {
print(", ");
@ -219,7 +217,6 @@ public class ClassWriterImpl extends SubWriterHolderWriter
counter++;
}
}
dlEnd();
preEnd();
p();
}
@ -342,6 +339,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter
TagletOutput output = (new ParamTaglet()).getTagletOutput(classDoc,
getTagletWriterInstance(false));
print(output.toString());
dtEnd();
dlEnd();
}
}
@ -360,8 +358,10 @@ public class ClassWriterImpl extends SubWriterHolderWriter
dl();
dt();
strongText("doclet.Subclasses");
dtEnd();
writeClassLinks(LinkInfoImpl.CONTEXT_SUBCLASSES,
subclasses);
dlEnd();
}
}
}
@ -376,8 +376,10 @@ public class ClassWriterImpl extends SubWriterHolderWriter
dl();
dt();
strongText("doclet.Subinterfaces");
dtEnd();
writeClassLinks(LinkInfoImpl.CONTEXT_SUBINTERFACES,
subInterfaces);
dlEnd();
}
}
}
@ -398,8 +400,10 @@ public class ClassWriterImpl extends SubWriterHolderWriter
dl();
dt();
strongText("doclet.Implementing_Classes");
dtEnd();
writeClassLinks(LinkInfoImpl.CONTEXT_IMPLEMENTED_CLASSES,
implcl);
dlEnd();
}
}
@ -414,8 +418,10 @@ public class ClassWriterImpl extends SubWriterHolderWriter
dl();
dt();
strongText("doclet.All_Implemented_Interfaces");
dtEnd();
writeClassLinks(LinkInfoImpl.CONTEXT_IMPLEMENTED_INTERFACES,
interfaceArray);
dlEnd();
}
}
@ -430,8 +436,10 @@ public class ClassWriterImpl extends SubWriterHolderWriter
dl();
dt();
strongText("doclet.All_Superinterfaces");
dtEnd();
writeClassLinks(LinkInfoImpl.CONTEXT_SUPER_INTERFACES,
interfaceArray);
dlEnd();
}
}
@ -455,7 +463,6 @@ public class ClassWriterImpl extends SubWriterHolderWriter
}
}
ddEnd();
dlEnd();
}
protected void navLinkTree() {
@ -574,6 +581,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter
} else {
strongText("doclet.Enclosing_Class");
}
dtEnd();
dd();
printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS, outerClass,
false));

View File

@ -25,12 +25,12 @@
package com.sun.tools.doclets.formats.html;
import java.io.*;
import java.util.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.javadoc.*;
import java.util.*;
import java.io.*;
/**
* Writes constructor documentation.
@ -149,7 +149,7 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
writeParameters(constructor);
writeExceptions(constructor);
writer.preEnd();
writer.dl();
assert !writer.getMemberDetailsListPrinted();
}
/**
@ -158,12 +158,7 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
* @param constructor the constructor being documented.
*/
public void writeDeprecated(ConstructorDoc constructor) {
String output = ((TagletOutputImpl)
(new DeprecatedTaglet()).getTagletOutput(constructor,
writer.getTagletWriterInstance(false))).toString();
if (output != null && output.trim().length() > 0) {
writer.print(output);
}
printDeprecated(constructor);
}
/**
@ -172,10 +167,7 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
* @param constructor the constructor being documented.
*/
public void writeComments(ConstructorDoc constructor) {
if (constructor.inlineTags().length > 0) {
writer.dd();
writer.printInlineComment(constructor);
}
printComment(constructor);
}
/**
@ -191,7 +183,7 @@ public class ConstructorWriterImpl extends AbstractExecutableMemberWriter
* Write the constructor footer.
*/
public void writeConstructorFooter() {
writer.dlEnd();
printMemberFooter();
}
/**

View File

@ -25,13 +25,12 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
/**
* Writes enum constant documentation in HTML format.
*
@ -146,26 +145,21 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
strong(enumConstant.name());
}
writer.preEnd();
writer.dl();
assert !writer.getMemberDetailsListPrinted();
}
/**
* {@inheritDoc}
*/
public void writeDeprecated(FieldDoc enumConstant) {
print(((TagletOutputImpl)
(new DeprecatedTaglet()).getTagletOutput(enumConstant,
writer.getTagletWriterInstance(false))).toString());
printDeprecated(enumConstant);
}
/**
* {@inheritDoc}
*/
public void writeComments(FieldDoc enumConstant) {
if (enumConstant.inlineTags().length > 0) {
writer.dd();
writer.printInlineComment(enumConstant);
}
printComment(enumConstant);
}
/**
@ -179,7 +173,7 @@ public class EnumConstantWriterImpl extends AbstractMemberWriter
* {@inheritDoc}
*/
public void writeEnumConstantFooter() {
writer.dlEnd();
printMemberFooter();
}
/**

View File

@ -25,13 +25,12 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
/**
* Writes field documentation in HTML format.
*
@ -156,7 +155,7 @@ public class FieldWriterImpl extends AbstractMemberWriter
strong(field.name());
}
writer.preEnd();
writer.dl();
assert !writer.getMemberDetailsListPrinted();
}
/**
@ -165,9 +164,7 @@ public class FieldWriterImpl extends AbstractMemberWriter
* @param field the field being documented.
*/
public void writeDeprecated(FieldDoc field) {
print(((TagletOutputImpl)
(new DeprecatedTaglet()).getTagletOutput(field,
writer.getTagletWriterInstance(false))).toString());
printDeprecated(field);
}
/**
@ -178,10 +175,12 @@ public class FieldWriterImpl extends AbstractMemberWriter
public void writeComments(FieldDoc field) {
ClassDoc holder = field.containingClass();
if (field.inlineTags().length > 0) {
writer.printMemberDetailsListStartTag();
if (holder.equals(classdoc) ||
(! (holder.isPublic() || Util.isLinkable(holder, configuration())))) {
writer.dd();
writer.printInlineComment(field);
writer.ddEnd();
} else {
String classlink = writer.codeText(
writer.getDocLink(LinkInfoImpl.CONTEXT_FIELD_DOC_COPY,
@ -196,6 +195,7 @@ public class FieldWriterImpl extends AbstractMemberWriter
writer.ddEnd();
writer.dd();
writer.printInlineComment(field);
writer.ddEnd();
}
}
}
@ -213,7 +213,7 @@ public class FieldWriterImpl extends AbstractMemberWriter
* Write the field footer.
*/
public void writeFieldFooter() {
writer.dlEnd();
printMemberFooter();
}
/**

View File

@ -24,17 +24,16 @@
*/
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.formats.html.markup.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.javadoc.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.formats.html.markup.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
/**
* Class for the Html Format Code Generation specific to JavaDoc.
@ -44,6 +43,7 @@ import java.util.*;
* @since 1.2
* @author Atul M Dambalkar
* @author Robert Field
* @author Bhavesh Patel (Modified)
*/
public class HtmlDocletWriter extends HtmlDocWriter {
@ -205,7 +205,13 @@ public class HtmlDocletWriter extends HtmlDocWriter {
private void printMethodInfo(MethodDoc method) {
ClassDoc[] intfacs = method.containingClass().interfaces();
MethodDoc overriddenMethod = method.overriddenMethod();
if (intfacs.length > 0 || overriddenMethod != null) {
// Check whether there is any implementation or overridden info to be
// printed. If no overridden or implementation info needs to be
// printed, do not print this section.
if ((intfacs.length > 0 &&
new ImplementedMethods(method, this.configuration).build().length > 0) ||
overriddenMethod != null) {
printMemberDetailsListStartTag();
dd();
printTagsInfoHeader();
MethodWriterImpl.printImplementsInfo(this, method);
@ -216,7 +222,6 @@ public class HtmlDocletWriter extends HtmlDocWriter {
printTagsInfoFooter();
ddEnd();
}
dd();
}
protected void printTags(Doc doc) {
@ -230,41 +235,35 @@ public class HtmlDocletWriter extends HtmlDocWriter {
TagletWriter.genTagOuput(configuration.tagletManager, doc,
configuration.tagletManager.getCustomTags(doc),
getTagletWriterInstance(false), output);
if (output.toString().trim().length() > 0) {
printTagsInfoHeader();
print(output.toString());
printTagsInfoFooter();
} else if (! (doc instanceof ConstructorDoc ||
doc instanceof RootDoc || doc instanceof ClassDoc)) {
//To be consistent with 1.4.2 output.
//I hate to do this but we have to pass the diff test to prove
//nothing has broken.
String outputString = output.toString().trim();
// For RootDoc and ClassDoc, this section is not the definition description
// but the start of definition list.
if (!outputString.isEmpty()) {
if (!(doc instanceof RootDoc || doc instanceof ClassDoc)) {
printMemberDetailsListStartTag();
dd();
}
printTagsInfoHeader();
print(outputString);
printTagsInfoFooter();
if (!(doc instanceof RootDoc || doc instanceof ClassDoc))
ddEnd();
}
}
/**
* Check whether there are any tags to be printed.
* Check whether there are any tags for Serialization Overview
* section to be printed.
*
* @param doc the Doc object to check for tags.
* @param field the FieldDoc object to check for tags.
* @return true if there are tags to be printed else return false.
*/
protected boolean hasTagsToPrint(Doc doc) {
if (doc instanceof MethodDoc) {
ClassDoc[] intfacs = ((MethodDoc)doc).containingClass().interfaces();
MethodDoc overriddenMethod = ((MethodDoc)doc).overriddenMethod();
if ((intfacs.length > 0 &&
new ImplementedMethods((MethodDoc)doc, this.configuration).build().length > 0) ||
overriddenMethod != null) {
return true;
}
}
protected boolean hasSerializationOverviewTags(FieldDoc field) {
TagletOutputImpl output = new TagletOutputImpl("");
TagletWriter.genTagOuput(configuration.tagletManager, doc,
configuration.tagletManager.getCustomTags(doc),
TagletWriter.genTagOuput(configuration.tagletManager, field,
configuration.tagletManager.getCustomTags(field),
getTagletWriterInstance(false), output);
return (output.toString().trim().isEmpty());
return (!output.toString().trim().isEmpty());
}
/**

View File

@ -25,11 +25,12 @@
package com.sun.tools.doclets.formats.html;
import java.util.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
import java.util.*;
/**
* Generate serialized form for serializable fields.
@ -37,6 +38,7 @@ import java.util.*;
* <code>serialField</code> is processed.
*
* @author Joe Fialli
* @author Bhavesh Patel (Modified)
*/
public class HtmlSerialFieldWriter extends FieldWriterImpl
implements SerializedFormWriter.SerialFieldWriter {
@ -75,7 +77,7 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl
writer.println();
if (heading.equals(
configuration().getText("doclet.Serialized_Form_class"))) {
writer.dl();
assert !writer.getMemberDetailsListPrinted();
}
} else {
writer.printTableHeadingBackground(heading);
@ -102,7 +104,7 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl
print(fieldDimensions + ' ');
strong(fieldName);
writer.preEnd();
writer.dl();
assert !writer.getMemberDetailsListPrinted();
}
/**
@ -111,9 +113,7 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl
* @param field the field to document.
*/
public void writeMemberDeprecatedInfo(FieldDoc field) {
print(((TagletOutputImpl)
(new DeprecatedTaglet()).getTagletOutput(field,
writer.getTagletWriterInstance(false))).toString());
printDeprecated(field);
}
/**
@ -123,14 +123,17 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl
*/
public void writeMemberDescription(FieldDoc field) {
if (field.inlineTags().length > 0) {
writer.printMemberDetailsListStartTag();
writer.dd();
writer.printInlineComment(field);
writer.ddEnd();
}
Tag[] tags = field.tags("serial");
if (tags.length > 0) {
writer.dt();
writer.printMemberDetailsListStartTag();
writer.dd();
writer.printInlineComment(field, tags[0]);
writer.ddEnd();
}
}
@ -140,9 +143,14 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl
* @param serialFieldTag the field to document (represented by tag).
*/
public void writeMemberDescription(SerialFieldTag serialFieldTag) {
writer.dd();
writer.print(serialFieldTag.description());
writer.dlEnd();
String serialFieldTagDesc = serialFieldTag.description().trim();
if (!serialFieldTagDesc.isEmpty()) {
writer.dl();
writer.dd();
writer.print(serialFieldTagDesc);
writer.ddEnd();
writer.dlEnd();
}
}
/**
@ -151,33 +159,57 @@ public class HtmlSerialFieldWriter extends FieldWriterImpl
* @param field the field to document.
*/
public void writeMemberTags(FieldDoc field) {
writer.dl();
TagletOutputImpl output = new TagletOutputImpl("");
TagletWriter.genTagOuput(configuration().tagletManager, field,
configuration().tagletManager.getCustomTags(field),
writer.getTagletWriterInstance(false), output);
if (output.toString().length() > 0) {
print(output.toString());
String outputString = output.toString().trim();
if (!outputString.isEmpty()) {
writer.printMemberDetailsListStartTag();
writer.dd();
writer.dl();
print(outputString);
writer.dlEnd();
writer.ddEnd();
}
writer.dlEnd();
}
public void writeMemberFooter(FieldDoc member) {
writer.dlEnd();
}
/**
* Check to see if member details should be printed. If
* Check to see if overview details should be printed. If
* nocomment option set or if there is no text to be printed
* for deprecation info, inline comment, no serial tag or inline tags,
* do not print member details.
* for deprecation info, comment or tags, do not print overview details.
*
* @param field the field to check overview details for.
* @return true if overview details need to be printed
*/
public boolean shouldPrintMemberDetails(FieldDoc field) {
if (!configuration().nocomment)
if((field.inlineTags().length > 0) ||
(field.tags("serial").length > 0) || (writer.hasTagsToPrint(field)))
public boolean shouldPrintOverview(FieldDoc field) {
if (!configuration().nocomment) {
if(!field.commentText().isEmpty() ||
writer.hasSerializationOverviewTags(field))
return true;
if (!Util.isDeprecated(field))
}
if (field.tags("deprecated").length > 0)
return true;
return false;
}
public void writeMemberFooter() {
printMemberFooter();
}
/**
* Write the footer information. If the serilization overview section was
* printed, check for definition list and close list tag.
*
* @param heading the heading that was written.
*/
public void writeFooter(String heading) {
if (printedOverallAnchor) {
if (heading.equals(
configuration().getText("doclet.Serialized_Form_class"))) {
writer.printMemberDetailsListEndTag();
assert !writer.getMemberDetailsListPrinted();
}
}
}
}

View File

@ -25,9 +25,9 @@
package com.sun.tools.doclets.formats.html;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.javadoc.*;
/**
* Generate serialized form for Serializable/Externalizable methods.
@ -66,14 +66,12 @@ public class HtmlSerialMethodWriter extends MethodWriterImpl implements
writeSignature(member);
}
public void writeMemberFooter(MethodDoc member) {
writer.dlEnd();
public void writeMemberFooter() {
printMemberFooter();
}
public void writeDeprecatedMemberInfo(MethodDoc member) {
print(((TagletOutputImpl)
(new DeprecatedTaglet()).getTagletOutput(member,
writer.getTagletWriterInstance(false))).toString());
printDeprecated(member);
}
public void writeMemberDescription(MethodDoc member) {
@ -81,23 +79,27 @@ public class HtmlSerialMethodWriter extends MethodWriterImpl implements
}
public void writeMemberTags(MethodDoc member) {
writer.dd();
writer.dl();
TagletOutputImpl output = new TagletOutputImpl("");
TagletManager tagletManager =
ConfigurationImpl.getInstance().tagletManager;
TagletWriter.genTagOuput(tagletManager, member,
tagletManager.getSerializedFormTags(),
writer.getTagletWriterInstance(false), output);
print(output.toString());
String outputString = output.toString().trim();
if (!outputString.isEmpty()) {
writer.printMemberDetailsListStartTag();
writer.dd();
writer.dl();
print(outputString);
writer.dlEnd();
writer.ddEnd();
}
MethodDoc method = member;
if (method.name().compareTo("writeExternal") == 0
&& method.tags("serialData").length == 0) {
serialWarning(member.position(), "doclet.MissingSerialDataTag",
method.containingClass().qualifiedName(), method.name());
}
writer.ddEnd();
writer.dlEnd();
}
protected void printTypeLinkNoDimension(Type type) {

View File

@ -25,13 +25,13 @@
package com.sun.tools.doclets.formats.html;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import java.io.*;
import com.sun.javadoc.*;
/**
* Writes method documentation in HTML format.
*
@ -172,7 +172,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
writeParameters(method);
writeExceptions(method);
writer.preEnd();
writer.dl();
assert !writer.getMemberDetailsListPrinted();
}
/**
@ -181,12 +181,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
* @param method the method being documented.
*/
public void writeDeprecated(MethodDoc method) {
String output = ((TagletOutputImpl)
(new DeprecatedTaglet()).getTagletOutput(method,
writer.getTagletWriterInstance(false))).toString();
if (output != null && output.trim().length() > 0) {
writer.print(output);
}
printDeprecated(method);
}
/**
@ -197,11 +192,13 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
public void writeComments(Type holder, MethodDoc method) {
ClassDoc holderClassDoc = holder.asClassDoc();
if (method.inlineTags().length > 0) {
writer.printMemberDetailsListStartTag();
if (holder.asClassDoc().equals(classdoc) ||
(! (holderClassDoc.isPublic() ||
Util.isLinkable(holderClassDoc, configuration())))) {
writer.dd();
writer.printInlineComment(method);
writer.ddEnd();
} else {
String classlink = writer.codeText(
writer.getDocLink(LinkInfoImpl.CONTEXT_METHOD_DOC_COPY,
@ -217,6 +214,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
writer.ddEnd();
writer.dd();
writer.printInlineComment(method);
writer.ddEnd();
}
}
}
@ -234,8 +232,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
* Write the method footer.
*/
public void writeMethodFooter() {
writer.ddEnd();
writer.dlEnd();
printMemberFooter();
}
/**
@ -318,6 +315,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
String name = method.name();
writer.dt();
writer.strongText(label);
writer.dtEnd();
writer.dd();
String methLink = writer.codeText(
writer.getLink(
@ -326,6 +324,7 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
writer.getAnchor(method), name, false)
));
writer.printText("doclet.in_class", methLink, overriddenTypeLink);
writer.ddEnd();
}
}
@ -364,11 +363,13 @@ public class MethodWriterImpl extends AbstractExecutableMemberWriter
LinkInfoImpl.CONTEXT_METHOD_SPECIFIED_BY, intfac)));
writer.dt();
writer.strongText("doclet.Specified_By");
writer.dtEnd();
writer.dd();
methlink = writer.codeText(writer.getDocLink(
LinkInfoImpl.CONTEXT_MEMBER, implementedMeth,
implementedMeth.name(), false));
writer.printText("doclet.in_interface", methlink, intfaclink);
writer.ddEnd();
}
}

View File

@ -25,11 +25,11 @@
package com.sun.tools.doclets.formats.html;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
import java.io.*;
/**
* Writes nested class documentation in HTML format.
@ -129,7 +129,6 @@ public class NestedClassWriterImpl extends AbstractMemberWriter
writer.println("");
}
writer.anchor(nestedClass.name());
writer.dl();
writer.h3();
writer.print(nestedClass.name());
writer.h3End();

View File

@ -25,10 +25,11 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
/**
* Class to generate Tree page for a package. The name of the file generated is
* "package-tree.html" and it is generated in the respective package directory.
@ -145,8 +146,10 @@ public class PackageTreeWriter extends AbstractTreeWriter {
dl();
dt();
strongText("doclet.Package_Hierarchies");
dtEnd();
dd();
navLinkMainTree(configuration.getText("doclet.All_Packages"));
ddEnd();
dlEnd();
hr();
}

View File

@ -25,17 +25,18 @@
package com.sun.tools.doclets.formats.html;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.builders.SerializedFormBuilder;
import com.sun.tools.doclets.internal.toolkit.taglets.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
/**
* The taglet writer that writes HTML.
*
* @since 1.5
* @author Jamie Ho
* @author Bhavesh Patel (Modified)
*/
public class TagletWriterImpl extends TagletWriter {
@ -99,11 +100,12 @@ public class TagletWriterImpl extends TagletWriter {
output.append(DocletConstants.NL + "<P>" +
DocletConstants.NL);
}
output.append("</DD>");
} else {
if (Util.isDeprecated(member.containingClass())) {
output.append("<DD><STRONG>" +
ConfigurationImpl.getInstance().
getText("doclet.Deprecated") + "</STRONG>&nbsp;");
getText("doclet.Deprecated") + "</STRONG>&nbsp;</DD>");
}
}
}
@ -123,7 +125,7 @@ public class TagletWriterImpl extends TagletWriter {
public TagletOutput getParamHeader(String header) {
StringBuffer result = new StringBuffer();
result.append("<DT>");
result.append("<STRONG>" + header + "</STRONG>");
result.append("<STRONG>" + header + "</STRONG></DT>");
return new TagletOutputImpl(result.toString());
}
@ -132,7 +134,7 @@ public class TagletWriterImpl extends TagletWriter {
*/
public TagletOutput paramTagOutput(ParamTag paramTag, String paramName) {
TagletOutput result = new TagletOutputImpl("<DD><CODE>" + paramName + "</CODE>"
+ " - " + htmlWriter.commentTagsToString(paramTag, null, paramTag.inlineTags(), false));
+ " - " + htmlWriter.commentTagsToString(paramTag, null, paramTag.inlineTags(), false) + "</DD>");
return result;
}
@ -142,9 +144,9 @@ public class TagletWriterImpl extends TagletWriter {
public TagletOutput returnTagOutput(Tag returnTag) {
TagletOutput result = new TagletOutputImpl(DocletConstants.NL + "<DT>" +
"<STRONG>" + htmlWriter.configuration.getText("doclet.Returns") +
"</STRONG>" + "<DD>" +
"</STRONG>" + "</DT>" + "<DD>" +
htmlWriter.commentTagsToString(returnTag, null, returnTag.inlineTags(),
false));
false) + "</DD>");
return result;
}
@ -174,22 +176,21 @@ public class TagletWriterImpl extends TagletWriter {
}
if (holder.isClass() && ((ClassDoc)holder).isSerializable()) {
//Automatically add link to serialized form page for serializable classes.
if (!(SerializedFormBuilder.serialInclude(holder) &&
if ((SerializedFormBuilder.serialInclude(holder) &&
SerializedFormBuilder.serialInclude(((ClassDoc)holder).containingPackage()))) {
return result.equals("") ? null : new TagletOutputImpl(result);
result = addSeeHeader(result);
result += htmlWriter.getHyperLink(htmlWriter.relativePath + "serialized-form.html",
((ClassDoc)holder).qualifiedName(), htmlWriter.configuration.getText("doclet.Serialized_Form"), false);
}
result = addSeeHeader(result);
result += htmlWriter.getHyperLink(htmlWriter.relativePath + "serialized-form.html",
((ClassDoc)holder).qualifiedName(), htmlWriter.configuration.getText("doclet.Serialized_Form"), false);
}
return result.equals("") ? null : new TagletOutputImpl(result);
return result.equals("") ? null : new TagletOutputImpl(result + "</DD>");
}
private String addSeeHeader(String result) {
if (result != null && result.length() > 0) {
return result + ", " + DocletConstants.NL;
} else {
return "<DT><STRONG>" + htmlWriter.configuration().getText("doclet.See_Also") + "</STRONG><DD>";
return "<DT><STRONG>" + htmlWriter.configuration().getText("doclet.See_Also") + "</STRONG></DT><DD>";
}
}
@ -205,7 +206,8 @@ public class TagletWriterImpl extends TagletWriter {
}
result += htmlWriter.commentTagsToString(simpleTags[i], null, simpleTags[i].inlineTags(), false);
}
return new TagletOutputImpl(result + "</DD>" + DocletConstants.NL);
result += "</DD>" + DocletConstants.NL;
return new TagletOutputImpl(result);
}
/**
@ -222,7 +224,7 @@ public class TagletWriterImpl extends TagletWriter {
*/
public TagletOutput getThrowsHeader() {
return new TagletOutputImpl(DocletConstants.NL + "<DT>" + "<STRONG>" +
htmlWriter.configuration().getText("doclet.Throws") + "</STRONG>");
htmlWriter.configuration().getText("doclet.Throws") + "</STRONG></DT>");
}
/**
@ -241,6 +243,7 @@ public class TagletWriterImpl extends TagletWriter {
if (text != null && text.toString().length() > 0) {
result += " - " + text;
}
result += "</DD>";
return new TagletOutputImpl(result);
}
@ -250,7 +253,7 @@ public class TagletWriterImpl extends TagletWriter {
public TagletOutput throwsTagOutput(Type throwsType) {
return new TagletOutputImpl(DocletConstants.NL + "<DD>" +
htmlWriter.codeText(htmlWriter.getLink(
new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER, throwsType))));
new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER, throwsType))) + "</DD>");
}
/**

View File

@ -25,9 +25,11 @@
package com.sun.tools.doclets.formats.html;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.javadoc.*;
import java.io.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
/**
* Generate Class Hierarchy page for all the Classes in this run. Use
* ClassTree for building the Tree. The name of
@ -120,6 +122,7 @@ public class TreeWriter extends AbstractTreeWriter {
dl();
dt();
strongText("doclet.Package_Hierarchies");
dtEnd();
dd();
for (int i = 0; i < packages.length; i++) {
if (packages[i].name().length() == 0) {
@ -131,6 +134,7 @@ public class TreeWriter extends AbstractTreeWriter {
print(", ");
}
}
ddEnd();
dlEnd();
hr();
}

View File

@ -244,6 +244,31 @@ public abstract class HtmlDocWriter extends HtmlWriter {
return "";
}
/**
* Keep track of member details list. Print the definition list start tag
* if it is not printed yet.
*/
public void printMemberDetailsListStartTag () {
if (!getMemberDetailsListPrinted()) {
dl();
memberDetailsListPrinted = true;
}
}
/**
* Print the definition list end tag if the list start tag was printed.
*/
public void printMemberDetailsListEndTag () {
if (getMemberDetailsListPrinted()) {
dlEnd();
memberDetailsListPrinted = false;
}
}
public boolean getMemberDetailsListPrinted() {
return memberDetailsListPrinted;
}
/**
* Print the frameset version of the Html file header.
* Called only when generating an HTML frameset file.

View File

@ -25,9 +25,10 @@
package com.sun.tools.doclets.formats.html.markup;
import java.io.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import java.io.*;
/**
* Class for the Html format code generation.
@ -60,6 +61,11 @@ public class HtmlWriter extends PrintWriter {
*/
protected Configuration configuration;
/**
* The flag to indicate whether a member details list is printed or not.
*/
protected boolean memberDetailsListPrinted;
/**
* Constructor.
*
@ -79,6 +85,7 @@ public class HtmlWriter extends PrintWriter {
super(Util.genWriter(configuration, path, filename, docencoding));
this.configuration = configuration;
htmlFilename = filename;
this.memberDetailsListPrinted = false;
}
/**
@ -529,7 +536,14 @@ public class HtmlWriter extends PrintWriter {
}
/**
* Print &lt;DT&gt; tag.
* Print &lt;/DT&gt; tag.
*/
public void dtEnd() {
print("</DT>");
}
/**
* Print &lt;DD&gt; tag.
*/
public void dd() {
print("<DD>");

View File

@ -25,9 +25,10 @@
package com.sun.tools.doclets.internal.toolkit;
import com.sun.javadoc.*;
import java.io.*;
import com.sun.javadoc.*;
/**
* The interface for writing serialized form output.
*
@ -147,22 +148,27 @@ public interface SerializedFormWriter {
String fieldDimensions, String fieldName);
/**
* Write the footer.
*
* @param member the member to write the header for.
* Write the member footer.
*/
public void writeMemberFooter(FieldDoc member);
public void writeMemberFooter();
/**
* Check to see if member details should be printed. If
* Check to see if overview details should be printed. If
* nocomment option set or if there is no text to be printed
* for deprecation info, inline comment, no serial tag or inline tags,
* do not print member details.
* for deprecation info, inline comment or tags,
* do not print overview details.
*
* @param member the member to check details for.
* @return true if details need to be printed
* @param field the field to check overview details for.
* @return true if overview details need to be printed
*/
public boolean shouldPrintMemberDetails(FieldDoc member);
public boolean shouldPrintOverview(FieldDoc field);
/**
* Write the footer.
*
* @param heading the heading that was written.
*/
public void writeFooter (String heading);
}
/**
@ -193,10 +199,8 @@ public interface SerializedFormWriter {
/**
* Write the footer.
*
* @param member the member to write the header for.
*/
public void writeMemberFooter(MethodDoc member);
public void writeMemberFooter();
/**
* Write the deprecated information for this member.

View File

@ -25,13 +25,14 @@
package com.sun.tools.doclets.internal.toolkit.builders;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.*;
import com.sun.javadoc.*;
import java.io.*;
import java.lang.reflect.*;
import java.util.*;
import com.sun.javadoc.*;
import com.sun.tools.doclets.internal.toolkit.util.*;
import com.sun.tools.doclets.internal.toolkit.*;
/**
* Builds the serialized form.
*
@ -40,6 +41,7 @@ import java.util.*;
* Do not use it as an API
*
* @author Jamie Ho
* @author Bhavesh Patel (Modified)
* @since 1.5
*/
public class SerializedFormBuilder extends AbstractBuilder {
@ -379,7 +381,7 @@ public class SerializedFormBuilder extends AbstractBuilder {
* Build the method footer.
*/
public void buildMethodFooter() {
methodWriter.writeMemberFooter((MethodDoc) currentMember);
methodWriter.writeMemberFooter();
}
/**
@ -405,15 +407,18 @@ public class SerializedFormBuilder extends AbstractBuilder {
Util.asList(classDoc.serializableFields()).get(0);
// Check to see if there are inline comments, tags or deprecation
// information to be printed.
if (fieldWriter.shouldPrintMemberDetails(serialPersistentField)) {
if (fieldWriter.shouldPrintOverview(serialPersistentField)) {
fieldWriter.writeHeader(
configuration.getText("doclet.Serialized_Form_class"));
configuration.getText("doclet.Serialized_Form_class"));
fieldWriter.writeMemberDeprecatedInfo(serialPersistentField);
if (!configuration.nocomment) {
fieldWriter.writeMemberDescription(serialPersistentField);
fieldWriter.writeMemberTags(serialPersistentField);
}
fieldWriter.writeMemberFooter(serialPersistentField);
// Footer required to close the definition list tag
// for serialization overview.
fieldWriter.writeFooter(
configuration.getText("doclet.Serialized_Form_class"));
}
}
}
@ -476,11 +481,11 @@ public class SerializedFormBuilder extends AbstractBuilder {
}
/**
* Build the field footer.
* Build the field sub footer.
*/
public void buildFieldFooter() {
public void buildFieldSubFooter() {
if (! currentClass.definesSerializableFields()) {
fieldWriter.writeMemberFooter((FieldDoc) currentMember);
fieldWriter.writeMemberFooter();
}
}

View File

@ -1,205 +1,205 @@
<?xml version='1.0' encoding='utf-8'?>
<!--
Copyright 2003 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.
-->
<Doclet>
<PackageDoc>
<PackageHeader/>
<Summary>
<SummaryHeader/>
<InterfaceSummary/>
<ClassSummary/>
<EnumSummary/>
<ExceptionSummary/>
<ErrorSummary/>
<AnnotationTypeSummary/>
<SummaryFooter/>
</Summary>
<PackageDescription/>
<PackageTags/>
<PackageFooter/>
</PackageDoc>
<AnnotationTypeDoc>
<AnnotationTypeHeader/>
<DeprecationInfo/>
<AnnotationTypeSignature/>
<AnnotationTypeDescription/>
<AnnotationTypeTagInfo/>
<MemberSummary>
<AnnotationTypeRequiredMemberSummary/>
<AnnotationTypeOptionalMemberSummary/>
</MemberSummary>
<AnnotationTypeRequiredMemberDetails>
<Header/>
<AnnotationTypeRequiredMember>
<MemberHeader/>
<Signature/>
<DeprecationInfo/>
<MemberComments/>
<TagInfo/>
<MemberFooter/>
</AnnotationTypeRequiredMember>
</AnnotationTypeRequiredMemberDetails>
<AnnotationTypeOptionalMemberDetails>
<AnnotationTypeOptionalMember>
<MemberHeader/>
<Signature/>
<DeprecationInfo/>
<MemberComments/>
<TagInfo/>
<DefaultValueInfo/>
<MemberFooter/>
</AnnotationTypeOptionalMember>
<Footer/>
</AnnotationTypeOptionalMemberDetails>
<AnnotationTypeFooter/>
</AnnotationTypeDoc>
<ClassDoc>
<ClassHeader/>
<ClassTree/>
<TypeParamInfo/>
<SuperInterfacesInfo/>
<ImplementedInterfacesInfo/>
<SubClassInfo/>
<SubInterfacesInfo/>
<InterfaceUsageInfo/>
<NestedClassInfo/>
<DeprecationInfo/>
<ClassSignature/>
<ClassDescription/>
<ClassTagInfo/>
<MemberSummary>
<NestedClassesSummary/>
<NestedClassesInheritedSummary/>
<EnumConstantsSummary/>
<FieldsSummary/>
<FieldsInheritedSummary/>
<ConstructorsSummary/>
<MethodsSummary/>
<MethodsInheritedSummary/>
</MemberSummary>
<EnumConstantsDetails>
<Header/>
<EnumConstant>
<EnumConstantHeader/>
<Signature/>
<DeprecationInfo/>
<EnumConstantComments/>
<TagInfo/>
<EnumConstantFooter/>
</EnumConstant>
<Footer/>
</EnumConstantsDetails>
<FieldDetails>
<Header/>
<FieldDoc>
<FieldHeader/>
<Signature/>
<DeprecationInfo/>
<FieldComments/>
<TagInfo/>
<FieldFooter/>
</FieldDoc>
<Footer/>
</FieldDetails>
<ConstructorDetails>
<Header/>
<ConstructorDoc>
<ConstructorHeader/>
<Signature/>
<DeprecationInfo/>
<ConstructorComments/>
<TagInfo/>
<ConstructorFooter/>
</ConstructorDoc>
<Footer/>
</ConstructorDetails>
<MethodDetails>
<Header/>
<MethodDoc>
<MethodHeader/>
<Signature/>
<DeprecationInfo/>
<MethodComments/>
<TagInfo/>
<MethodFooter/>
</MethodDoc>
<Footer/>
</MethodDetails>
<ClassFooter/>
</ClassDoc>
<ConstantSummary>
<Header/>
<Contents/>
<ConstantSummaries>
<PackageConstantSummary>
<PackageHeader/>
<ClassConstantSummary>
<ClassHeader/>
<ConstantMembers/>
<ClassFooter/>
</ClassConstantSummary>
</PackageConstantSummary>
</ConstantSummaries>
<Footer/>
</ConstantSummary>
<SerializedForm>
<Header/>
<SerializedFormSummaries>
<PackageSerializedForm>
<PackageHeader/>
<ClassSerializedForm>
<ClassHeader/>
<SerialUIDInfo/>
<MethodHeader/>
<SerializableMethods>
<MethodSubHeader/>
<DeprecatedMethodInfo/>
<MethodInfo>
<MethodDescription/>
<MethodTags/>
</MethodInfo>
<MethodFooter/>
</SerializableMethods>
<FieldHeader/>
<SerializableFields>
<FieldSubHeader/>
<FieldDeprecationInfo/>
<FieldInfo/>
<FieldFooter/>
</SerializableFields>
</ClassSerializedForm>
</PackageSerializedForm>
</SerializedFormSummaries>
<Footer/>
</SerializedForm>
</Doclet>
<?xml version='1.0' encoding='utf-8'?>
<!--
Copyright 2003 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.
-->
<Doclet>
<PackageDoc>
<PackageHeader/>
<Summary>
<SummaryHeader/>
<InterfaceSummary/>
<ClassSummary/>
<EnumSummary/>
<ExceptionSummary/>
<ErrorSummary/>
<AnnotationTypeSummary/>
<SummaryFooter/>
</Summary>
<PackageDescription/>
<PackageTags/>
<PackageFooter/>
</PackageDoc>
<AnnotationTypeDoc>
<AnnotationTypeHeader/>
<DeprecationInfo/>
<AnnotationTypeSignature/>
<AnnotationTypeDescription/>
<AnnotationTypeTagInfo/>
<MemberSummary>
<AnnotationTypeRequiredMemberSummary/>
<AnnotationTypeOptionalMemberSummary/>
</MemberSummary>
<AnnotationTypeRequiredMemberDetails>
<Header/>
<AnnotationTypeRequiredMember>
<MemberHeader/>
<Signature/>
<DeprecationInfo/>
<MemberComments/>
<TagInfo/>
<MemberFooter/>
</AnnotationTypeRequiredMember>
</AnnotationTypeRequiredMemberDetails>
<AnnotationTypeOptionalMemberDetails>
<AnnotationTypeOptionalMember>
<MemberHeader/>
<Signature/>
<DeprecationInfo/>
<MemberComments/>
<TagInfo/>
<DefaultValueInfo/>
<MemberFooter/>
</AnnotationTypeOptionalMember>
<Footer/>
</AnnotationTypeOptionalMemberDetails>
<AnnotationTypeFooter/>
</AnnotationTypeDoc>
<ClassDoc>
<ClassHeader/>
<ClassTree/>
<TypeParamInfo/>
<SuperInterfacesInfo/>
<ImplementedInterfacesInfo/>
<SubClassInfo/>
<SubInterfacesInfo/>
<InterfaceUsageInfo/>
<NestedClassInfo/>
<DeprecationInfo/>
<ClassSignature/>
<ClassDescription/>
<ClassTagInfo/>
<MemberSummary>
<NestedClassesSummary/>
<NestedClassesInheritedSummary/>
<EnumConstantsSummary/>
<FieldsSummary/>
<FieldsInheritedSummary/>
<ConstructorsSummary/>
<MethodsSummary/>
<MethodsInheritedSummary/>
</MemberSummary>
<EnumConstantsDetails>
<Header/>
<EnumConstant>
<EnumConstantHeader/>
<Signature/>
<DeprecationInfo/>
<EnumConstantComments/>
<TagInfo/>
<EnumConstantFooter/>
</EnumConstant>
<Footer/>
</EnumConstantsDetails>
<FieldDetails>
<Header/>
<FieldDoc>
<FieldHeader/>
<Signature/>
<DeprecationInfo/>
<FieldComments/>
<TagInfo/>
<FieldFooter/>
</FieldDoc>
<Footer/>
</FieldDetails>
<ConstructorDetails>
<Header/>
<ConstructorDoc>
<ConstructorHeader/>
<Signature/>
<DeprecationInfo/>
<ConstructorComments/>
<TagInfo/>
<ConstructorFooter/>
</ConstructorDoc>
<Footer/>
</ConstructorDetails>
<MethodDetails>
<Header/>
<MethodDoc>
<MethodHeader/>
<Signature/>
<DeprecationInfo/>
<MethodComments/>
<TagInfo/>
<MethodFooter/>
</MethodDoc>
<Footer/>
</MethodDetails>
<ClassFooter/>
</ClassDoc>
<ConstantSummary>
<Header/>
<Contents/>
<ConstantSummaries>
<PackageConstantSummary>
<PackageHeader/>
<ClassConstantSummary>
<ClassHeader/>
<ConstantMembers/>
<ClassFooter/>
</ClassConstantSummary>
</PackageConstantSummary>
</ConstantSummaries>
<Footer/>
</ConstantSummary>
<SerializedForm>
<Header/>
<SerializedFormSummaries>
<PackageSerializedForm>
<PackageHeader/>
<ClassSerializedForm>
<ClassHeader/>
<SerialUIDInfo/>
<MethodHeader/>
<SerializableMethods>
<MethodSubHeader/>
<DeprecatedMethodInfo/>
<MethodInfo>
<MethodDescription/>
<MethodTags/>
</MethodInfo>
<MethodFooter/>
</SerializableMethods>
<FieldHeader/>
<SerializableFields>
<FieldSubHeader/>
<FieldDeprecationInfo/>
<FieldInfo/>
<FieldSubFooter/>
</SerializableFields>
</ClassSerializedForm>
</PackageSerializedForm>
</SerializedFormSummaries>
<Footer/>
</SerializedForm>
</Doclet>

View File

@ -91,7 +91,7 @@ public class AuthorDD
// Test multiple @author tags:
{ "<DT><STRONG>Author:</STRONG></DT>"+NL+" <DD>Doug Kramer, Jamie, Neal</DD>"+NL,
{ "<DT><STRONG>Author:</STRONG></DT>"+NL+" <DD>Doug Kramer, Jamie, Neal</DD>",
BUGID + FS + "p1" + FS + "C1.html" },
};

View File

@ -48,7 +48,7 @@ public class TestClassCrossReferences extends JavadocTester {
"<A HREF=\"http://java.sun.com/j2se/1.4/docs/api/java/math/BigInteger.html?is-external=true#gcd(java.math.BigInteger)\" " +
"title=\"class or interface in java.math\"><CODE>Link to external member gcd</CODE></A>"},
{BUG_ID + FS + "C.html",
"<STRONG>Overrides:</STRONG><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE>"}
"<STRONG>Overrides:</STRONG></DT><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE>"}
};
private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =

View File

@ -45,9 +45,10 @@ public class TestConstructorIndent extends JavadocTester {
//Input for string search tests.
private static final String[][] TEST = {
{BUG_ID + FS + "C.html", "<DL>"+NL+"<DD>This is just a simple constructor."+ NL +
"<P>"+NL+"<DL>"+NL+"<DT><STRONG>Parameters:</STRONG><DD><CODE>i</CODE> - a param.</DL>"+NL +
"</DL>"
{BUG_ID + FS + "C.html", "<DL>" + NL + "<DD>This is just a simple constructor." + NL +
"<P>" + NL + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG>" +
"</DT><DD><CODE>i</CODE> - a param.</DD></DL>" + NL +
"</DD>" + NL + "</DL>"
}
};
private static final String[][] NEGATED_TEST = NO_TEST;

View File

@ -78,13 +78,12 @@ public class TestDeprecatedDocs extends JavadocTester {
{TARGET_FILE2, "<STRONG>Deprecated.</STRONG>" + NL +
"<P>" + NL +
"<DL>" + NL +
"<DT><PRE><FONT SIZE=\"-1\">@Deprecated" + NL +
"<PRE><FONT SIZE=\"-1\">@Deprecated" + NL +
"</FONT>public class <STRONG>DeprecatedClassByAnnotation</STRONG>"},
{TARGET_FILE2, "public int <STRONG>field</STRONG></PRE>" + NL +
"<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<DL>"},
"<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD></DL>"},
{TARGET_FILE2, "<FONT SIZE=\"-1\">@Deprecated" + NL +
"</FONT>public <STRONG>DeprecatedClassByAnnotation</STRONG>()</PRE>" + NL +

View File

@ -39,13 +39,13 @@ public class TestExternalOverridenMethod extends JavadocTester {
private static final String BUG_ID = "4857717";
private static final String[][] TEST = {
{BUG_ID + FS + "pkg" + FS + "XReader.html",
"<STRONG>Overrides:</STRONG><DD><CODE><A HREF=\"" +
"<STRONG>Overrides:</STRONG></DT><DD><CODE><A HREF=\"" +
"http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true#read()\"" +
" title=\"class or interface in java.io\">read</A></CODE> in class " +
"<CODE><A HREF=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true\"" +
" title=\"class or interface in java.io\">FilterReader</A>"},
{BUG_ID + FS + "pkg" + FS + "XReader.html",
"<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"" +
"<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"" +
"http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true#readInt()\"" +
" title=\"class or interface in java.io\">readInt</A></CODE> in interface " +
"<CODE><A HREF=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true\"" +

View File

@ -67,7 +67,7 @@ public class TestHref extends JavadocTester {
},
//@see test.
{BUG_ID + FS + "pkg" + FS + "C2.html",
"See Also:</STRONG><DD><A HREF=\"../pkg/C1.html#method(int, int, java.util.ArrayList)\">"
"See Also:</STRONG></DT><DD><A HREF=\"../pkg/C1.html#method(int, int, java.util.ArrayList)\">"
},
//Header does not link to the page itself.

View File

@ -0,0 +1,370 @@
/*
* 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.
*/
/*
* @test
* @bug 6786690
* @summary This test verifies the nesting of definition list tags.
* @author Bhavesh Patel
* @library ../lib/
* @build JavadocTester
* @build TestHtmlDefinitionListTag
* @run main TestHtmlDefinitionListTag
*/
public class TestHtmlDefinitionListTag extends JavadocTester {
private static final String BUG_ID = "6786690";
// Test common to all runs of javadoc. The class signature should print
// properly enclosed definition list tags and the Annotation Type
// Optional Element should print properly nested definition list tags
// for default value.
private static final String[][] TEST_ALL = {
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<PRE>public class " +
"<STRONG>C1</STRONG>" + NL + "extends " +
"java.lang.Object" + NL + "implements " +
"java.io.Serializable</PRE>"},
{BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL>" + NL + "<DD><DL>" + NL +
"<DT><STRONG>Default:</STRONG></DT><DD>true</DD>" + NL +
"</DL>" + NL + "</DD>" + NL + "</DL>"}};
// Test for normal run of javadoc in which various ClassDocs and
// 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 + "C1.html", "<DL>" + NL +
"<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>JDK1.0</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT><DD>" +
"<A HREF=\"../pkg1/C2.html\" title=\"class in pkg1\">" +
"<CODE>C2</CODE></A>, " + NL +
"<A HREF=\"../serialized-form.html#pkg1.C1\">" +
"Serialized Form</A></DD></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
"<DD>This field indicates whether the C1 is undecorated." + NL +
"<P>" + NL + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>" +
"Since:</STRONG></DT>" + NL + " <DD>1.4</DD>" + NL + "<DT>" +
"<STRONG>See Also:</STRONG></DT><DD>" +
"<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
"setUndecorated(boolean)</CODE></A></DD></DL>" + NL +"</DD>" + NL +
"</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
"<DD>Constructor." + NL + "<P>" + NL + "</DD>" + NL +
"<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" +
"<CODE>title</CODE> - the title</DD><DD><CODE>test</CODE>" +
" - boolean value</DD>" + NL + "<DT><STRONG>Throws:</STRONG></DT>" + NL +
"<DD><CODE>java.lang.IllegalArgumentException</CODE>" +
" - if the <code>owner</code>'s" + NL + " <code>GraphicsConfiguration" +
"</code> is not from a screen device</DD>" + NL +"<DD><CODE>" +
"HeadlessException</CODE></DD></DL>" + NL + "</DD>" + NL +
"</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
"<DD>Method comments." + NL + "<P>" + NL +
"</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:" +
"</STRONG></DT><DD><CODE>undecorated</CODE> - <code>true</code>" +
" if no decorations are" + NL + " to be enabled;" + NL +
" <code>false</code> if decorations are to be enabled." +
"</DD><DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT>" +
"<DD><A HREF=\"../pkg1/C1.html#readObject()\"><CODE>" +
"readObject()</CODE></A></DD></DL>" + NL + "</DD>" + NL +
"</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><DL>" + NL +
"<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
"java.io.IOException</CODE></DD><DT><STRONG>See Also:" +
"</STRONG></DT><DD>" +
"<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL +
"<DD>No modal exclusion." + NL + "<P>" + NL +"</DD>" + NL +
"</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD>Constructor." + NL +
"<P>" + NL +"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced " +
"by" + NL + " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"</DD><DD>Set visible." + NL + "<P>" + NL + "</DD>" +NL +
"<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" +
"<CODE>set</CODE> - boolean</DD><DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>1.4</DD></DL>" + NL + "</DD>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "<DD>Comment." + NL +
"<P>" + NL + "</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL +
"<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
"java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" +
"</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version " +
"1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
"<DD>This field indicates whether the C1 is undecorated." + NL +
"<P>" + NL + "</DD>" + NL + "<DD>&nbsp;</DD>" + NL +
"<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" +
"</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"</DD><DD>Reads the object stream." + NL + "<P>" + NL +
"</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" +
"</STRONG></DT>" + NL + "<DD><CODE><code>" +
"IOException</code></CODE></DD>" + NL +
"<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD><DD>" +
"The name for this class." + NL + "<P>" + NL + "</DD>" + NL +
"<DD>&nbsp;</DD>" + NL + "</DL>"}};
// Test with -nocomment option. The ClassDocs and serialized form should
// have properly nested definition list tags enclosing deprecated
// information and should not display definition lists for comments
// and tags.
private static final String[][] TEST_NOCMNT = {
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
" <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
"setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"</DD></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C5.html", "<PRE>" + NL +
"protected <STRONG>C5</STRONG>()</PRE>" + NL + "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C5.html", "<PRE>" + NL +
"public void <STRONG>printInfo</STRONG>()</PRE>" + NL + "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD></DL>"},
{BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "boolean <STRONG>" +
"undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
"setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"</DD></DL>"},
{BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" +
"publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;</DD></DL>"}};
// Test with -nodeprecated option. The ClassDocs should have properly nested
// definition list tags enclosing comments and tags. The ClassDocs should not
// display definition list for deprecated information. The serialized form
// should display properly nested definition list tags for comments, tags
// and deprecated information.
private static final String[][] TEST_NODEPR = {
{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>" +
"<A HREF=\"../pkg1/C2.html\" title=\"class in pkg1\">" +
"<CODE>C2</CODE></A>, " + NL +
"<A HREF=\"../serialized-form.html#pkg1.C1\">" +
"Serialized Form</A></DD></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
"<DD>Constructor." + NL + "<P>" + NL + "</DD>" + NL +
"<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" +
"<CODE>title</CODE> - the title</DD><DD><CODE>test</CODE>" +
" - boolean value</DD>" + NL + "<DT><STRONG>Throws:</STRONG></DT>" + NL +
"<DD><CODE>java.lang.IllegalArgumentException</CODE>" +
" - if the <code>owner</code>'s" + NL + " <code>GraphicsConfiguration" +
"</code> is not from a screen device</DD>" + NL +"<DD><CODE>" +
"HeadlessException</CODE></DD></DL>" + NL + "</DD>" + NL +
"</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL +
"<DD>Method comments." + NL + "<P>" + NL +
"</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:" +
"</STRONG></DT><DD><CODE>undecorated</CODE> - <code>true</code>" +
" if no decorations are" + NL + " to be enabled;" + NL +
" <code>false</code> if decorations are to be enabled." +
"</DD><DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT>" +
"<DD><A HREF=\"../pkg1/C1.html#readObject()\"><CODE>" +
"readObject()</CODE></A></DD></DL>" + NL + "</DD>" + NL +
"</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><DL>" + NL +
"<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
"java.io.IOException</CODE></DD><DT><STRONG>See Also:" +
"</STRONG></DT><DD>" +
"<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL +
"<DD>No modal exclusion." + NL + "<P>" + NL +"</DD>" + NL +
"</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD>Constructor." + NL +
"<P>" + NL +"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "<DD>Comment." + NL +
"<P>" + NL + "</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL +
"<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
"java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" +
"</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version " +
"1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
"<DD>This field indicates whether the C1 is undecorated." + NL +
"<P>" + NL + "</DD>" + NL + "<DD>&nbsp;</DD>" + NL +
"<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" +
"</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"</DD><DD>Reads the object stream." + NL + "<P>" + NL +
"</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" +
"</STRONG></DT>" + NL + "<DD><CODE><code>" +
"IOException</code></CODE></DD>" + NL +
"<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD><DD>" +
"The name for this class." + NL + "<P>" + NL + "</DD>" + NL +
"<DD>&nbsp;</DD>" + NL + "</DL>"}};
// Test with -nocomment and -nodeprecated options. The ClassDocs whould
// not display definition lists for any member details. The serialized
// form should display properly nested definition list tags for
// deprecated information only.
private static final String[][] TEST_NOCMNT_NODEPR = {
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<PRE>" + NL + "public void " +
"<STRONG>readObject</STRONG>()" + NL + " throws" +
" java.io.IOException</PRE>" + NL + "<HR>"},
{BUG_ID + FS + "pkg1" + FS + "C2.html", "<PRE>" +NL + "public <STRONG>" +
"C2</STRONG>()</PRE>" + NL + "<HR>"},
{BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<PRE>" + NL +
"public static final " +
"<A HREF=\"../pkg1/C1.ModalExclusionType.html\" " +
"title=\"enum in pkg1\">C1.ModalExclusionType</A> <STRONG>" +
"APPLICATION_EXCLUDE</STRONG></PRE>" + NL + "<HR>"},
{BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "boolean <STRONG>" +
"undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
"setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"</DD></DL>"},
{BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" +
"publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;</DD></DL>"}};
// 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 + "C1.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "pkg1" + FS + "C5.html", "<DL></DL>"},
{BUG_ID + FS + "pkg1" + FS + "C5.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "overview-tree.html", "<DL></DL>"},
{BUG_ID + FS + "overview-tree.html", "<DL>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL></DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "</DL>"}};
private static final String[] ARGS1 =
new String[] {
"-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS2 =
new String[] {
"-d", BUG_ID, "-nocomment", "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS3 =
new String[] {
"-d", BUG_ID, "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS4 =
new String[] {
"-d", BUG_ID, "-nocomment", "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"};
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestHtmlDefinitionListTag tester = new TestHtmlDefinitionListTag();
run(tester, ARGS1, TEST_ALL, NEGATED_TEST);
run(tester, ARGS1, TEST_CMNT_DEPR, NEGATED_TEST);
run(tester, ARGS2, TEST_ALL, NEGATED_TEST);
run(tester, ARGS2, TEST_NOCMNT, TEST_CMNT_DEPR);
run(tester, ARGS3, TEST_ALL, NEGATED_TEST);
run(tester, ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR);
run(tester, ARGS4, TEST_ALL, NEGATED_TEST);
run(tester, ARGS4, TEST_NOCMNT_NODEPR, TEST_CMNT_DEPR);
tester.printSummary();
}
/**
* {@inheritDoc}
*/
public String getBugId() {
return BUG_ID;
}
/**
* {@inheritDoc}
*/
public String getBugName() {
return getClass().getName();
}
}

View File

@ -0,0 +1,108 @@
/*
* 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 pkg1;
import java.io.IOException;
import java.io.Serializable;
/**
* A class comment for testing.
*
* @author Bhavesh Patel
* @see C2
* @since JDK1.0
*/
public class C1 implements Serializable {
/**
* This field indicates whether the C1 is undecorated.
*
* @see #setUndecorated(boolean)
* @since 1.4
* @serial
* @deprecated As of JDK version 1.5, replaced by
* {@link C1#setUndecorated(boolean) setUndecorated(boolean)}.
*/
@Deprecated
public boolean undecorated = false;
private String title;
/**
* This enum specifies the possible modal exclusion types.
*
* @since 1.6
*/
public static enum ModalExclusionType {
/**
* No modal exclusion.
*/
NO_EXCLUDE,
/**
* <code>APPLICATION_EXCLUDE</code> indicates that a top-level window
* won't be blocked by any application-modal dialogs. Also, it isn't
* blocked by document-modal dialogs from outside of its child hierarchy.
*/
APPLICATION_EXCLUDE
};
/**
* Constructor.
*
* @param title the title
* @param test boolean value
* @exception IllegalArgumentException if the <code>owner</code>'s
* <code>GraphicsConfiguration</code> is not from a screen device
* @exception HeadlessException
*/
public C1(String title, boolean test) {
}
public C1(String title) {
}
/**
* Method comments.
* @param undecorated <code>true</code> if no decorations are
* to be enabled;
* <code>false</code> if decorations are to be enabled.
* @see #readObject()
* @since 1.4
*/
public void setUndecorated(boolean undecorated) {
/* Make sure we don't run in the middle of peer creation.*/
}
/**
* @see #setUndecorated(boolean)
*/
public void readObject() throws IOException {
}
}

View File

@ -0,0 +1,86 @@
/*
* 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 pkg1;
import java.io.ObjectInputStream;
import java.io.IOException;
import java.io.Serializable;
/**
* A class comment for testing.
*
* @author Bhavesh Patel
* @see C1
* @since JDK1.0
*/
public class C2 implements Serializable {
/**
* This field indicates title.
*/
String title;
public static enum ModalType {
NO_EXCLUDE
};
/**
* Constructor.
*
*/
public C2() {
}
public C2(String title) {
}
/**
* Set visible.
*
* @param set boolean
* @since 1.4
* @deprecated As of JDK version 1.5, replaced by
* {@link C1#setUndecorated(boolean) setUndecorated(boolean)}.
*/
@Deprecated
public void setVisible(boolean set) {
}
/**
* Reads the object stream.
*
* @param s ObjectInputStream
* @throws <code>IOException</code>
* @deprecated As of JDK version 1.5, replaced by
* {@link C1#setUndecorated(boolean) setUndecorated(boolean)}.
*/
@Deprecated
public void readObject(ObjectInputStream s) throws IOException {
}
}

View File

@ -0,0 +1,42 @@
/*
* 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 pkg1;
import java.lang.annotation.*;
/**
* Test Annotation class.
*
* @author Bhavesh Patel
* @since 1.5
*/
@Retention(RetentionPolicy.SOURCE)
public @interface C3 {
/**
* Comment.
*/
String[] value();
}

View File

@ -0,0 +1,39 @@
/*
* 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 pkg1;
import java.lang.annotation.*;
/*
* The @Inherited annotation has no effect when applied to an interface.
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Inherited
public @interface C4 {
boolean value() default true;
}

View File

@ -0,0 +1,65 @@
/*
* 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 pkg1;
import java.io.Serializable;
/**
* Test for Serializable
*
* @author Bhavesh Patel
* @deprecated This class is no longer used.
*/
@Deprecated
public abstract class C5 implements Serializable {
/**
* The name for this class.
*
* @serial
*/
private String name;
/**
* @serial
*/
private int publicKey;
/**
* Constructor for serialization only.
*/
protected C5() {
}
/**
* Prints general information.
*
*/
public void printInfo() {
}
}

View File

@ -73,10 +73,10 @@ public class TestIndex extends JavadocTester {
{BUG_ID + FS + "index-all.html",
"<DT><A HREF=\"./pkg/C.html#Java\"><STRONG>Java</STRONG></A> - " + NL +
"Static variable in class pkg.<A HREF=\"./pkg/C.html\" title=\"class in pkg\">C</A>" + NL +
"<DD>&nbsp;" + NL +
"</DT><DD>&nbsp;</DD>" + NL + NL +
"<DT><A HREF=\"./pkg/C.html#JDK\"><STRONG>JDK</STRONG></A> - " + NL +
"Static variable in class pkg.<A HREF=\"./pkg/C.html\" title=\"class in pkg\">C</A>" + NL +
"<DD>&nbsp;"},
"</DT><DD>&nbsp;</DD>"},
};
private static final String[][] NEGATED_TEST = NO_TEST;

View File

@ -55,7 +55,7 @@ public class TestInterface extends JavadocTester {
// Make sure known implementing class list is correct and omits type parameters.
{BUG_ID + FS + "pkg" + FS + "Interface.html",
"<DT><STRONG>All Known Implementing Classes:</STRONG> " +
"<DT><STRONG>All Known Implementing Classes:</STRONG></DT> " +
"<DD><A HREF=\"../pkg/Child.html\" " +
"title=\"class in pkg\">Child</A>, " +
"<A HREF=\"../pkg/Parent.html\" title=\"class in pkg\">" +
@ -63,7 +63,9 @@ public class TestInterface extends JavadocTester {
// Make sure "All Implemented Interfaces": has substituted type parameters
{BUG_ID + FS + "pkg" + FS + "Child.html",
"<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">Interface</A>&lt;T&gt;"
"<STRONG>All Implemented Interfaces:</STRONG></DT> <DD>" +
"<A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">" +
"Interface</A>&lt;T&gt;"
},
//Make sure Class Tree has substituted type parameters.
{BUG_ID + FS + "pkg" + FS + "Child.html",
@ -75,15 +77,15 @@ public class TestInterface extends JavadocTester {
},
//Make sure "Direct Know Subclasses" omits type parameters
{BUG_ID + FS + "pkg" + FS + "Parent.html",
"<STRONG>Direct Known Subclasses:</STRONG> <DD><A HREF=\"../pkg/Child.html\" title=\"class in pkg\">Child</A>"
"<STRONG>Direct Known Subclasses:</STRONG></DT> <DD><A HREF=\"../pkg/Child.html\" title=\"class in pkg\">Child</A>"
},
//Make sure "Specified By" has substituted type parameters.
{BUG_ID + FS + "pkg" + FS + "Child.html",
"<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"../pkg/Interface.html#method()\">method</A></CODE> in interface <CODE><A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">Interface</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
"<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"../pkg/Interface.html#method()\">method</A></CODE> in interface <CODE><A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">Interface</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
},
//Make sure "Overrides" has substituted type parameters.
{BUG_ID + FS + "pkg" + FS + "Child.html",
"<STRONG>Overrides:</STRONG><DD><CODE><A HREF=\"../pkg/Parent.html#method()\">method</A></CODE> in class <CODE><A HREF=\"../pkg/Parent.html\" title=\"class in pkg\">Parent</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
"<STRONG>Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg/Parent.html#method()\">method</A></CODE> in class <CODE><A HREF=\"../pkg/Parent.html\" title=\"class in pkg\">Parent</A>&lt;<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>&gt;</CODE>"
},
};
private static final String[][] NEGATED_TEST = {

View File

@ -63,7 +63,8 @@ public class TestLinkOption extends JavadocTester {
"title=\"class or interface in java.lang\">Object</A>&nbsp;p3)"
},
{BUG_ID + "-1" + FS + "java" + FS + "lang" + FS + "StringBuilderChild.html",
"public abstract class <STRONG>StringBuilderChild</STRONG><DT>extends <A HREF=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true\" title=\"class or interface in java.lang\">Object</A>"
"public abstract class <STRONG>StringBuilderChild</STRONG>" + NL +
"extends <A HREF=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true\" title=\"class or interface in java.lang\">Object</A>"
},
};

View File

@ -59,7 +59,7 @@ public class TestLinkTaglet extends JavadocTester {
" Link to another inner class: <A HREF=\"../pkg/C.InnerC2.html\" title=\"class in pkg\"><CODE>C.InnerC2</CODE></A>"
},
{BUG_ID + FS + "pkg" + FS + "C.InnerC2.html",
"Enclosing class:</STRONG><DD><A HREF=\"../pkg/C.html\" title=\"class in pkg\">C</A>"
"Enclosing class:</STRONG></DT><DD><A HREF=\"../pkg/C.html\" title=\"class in pkg\">C</A>"
},
};
private static final String[][] NEGATED_TEST = {

View File

@ -74,7 +74,7 @@ public class TestMemberInheritence extends JavadocTester {
// Test overriding/implementing methods with generic parameters.
{BUG_ID + FS + "pkg" + FS + "BaseClass.html",
"<DT><STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"../pkg/BaseInterface.html#getAnnotation(java.lang.Class)\">getAnnotation</A></CODE> in interface <CODE><A HREF=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</A></CODE></DL>"},
"<DT><STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"../pkg/BaseInterface.html#getAnnotation(java.lang.Class)\">getAnnotation</A></CODE> in interface <CODE><A HREF=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</A></CODE></DD>"+NL+"</DL>"},
// Test diamond inheritence member summary (6256068)
{BUG_ID + FS + "diamond" + FS + "Z.html",

View File

@ -54,7 +54,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
{BUG_ID + FS + "pkg" + FS + "Coin.html", "Enum Coin</H2>"},
//Make sure enum signature is correct.
{BUG_ID + FS + "pkg" + FS + "Coin.html", "public enum "+
"<STRONG>Coin</STRONG><DT>extends java.lang.Enum&lt;" +
"<STRONG>Coin</STRONG>" + NL + "extends java.lang.Enum&lt;" +
"<A HREF=\"../pkg/Coin.html\" title=\"enum in pkg\">Coin</A>&gt;"
},
//Check for enum constant section
@ -79,20 +79,20 @@ public class TestNewLanguageFeatures extends JavadocTester {
"Class TypeParameters&lt;E&gt;</H2>"},
//Check class type parameters section.
{BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
"<DT><STRONG>Type Parameters:</STRONG><DD><CODE>E</CODE> - " +
"<DT><STRONG>Type Parameters:</STRONG></DT><DD><CODE>E</CODE> - " +
"the type parameter for this class."},
//Type parameters in @see/@link
{BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
"<DT><STRONG>See Also:</STRONG><DD><A HREF=\"../pkg/TypeParameters.html\" " +
"title=\"class in pkg\"><CODE>TypeParameters</CODE></A></DL>"},
"<DT><STRONG>See Also:</STRONG></DT><DD><A HREF=\"../pkg/TypeParameters.html\" " +
"title=\"class in pkg\"><CODE>TypeParameters</CODE></A></DD></DL>"},
//Method that uses class type parameter.
{BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
"(<A HREF=\"../pkg/TypeParameters.html\" title=\"type " +
"parameter in TypeParameters\">E</A>&nbsp;param)"},
//Method type parameter section.
{BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
"<STRONG>Type Parameters:</STRONG><DD><CODE>T</CODE> - This is the first " +
"type parameter.<DD><CODE>V</CODE> - This is the second type " +
"<STRONG>Type Parameters:</STRONG></DT><DD><CODE>T</CODE> - This is the first " +
"type parameter.</DD><DD><CODE>V</CODE> - This is the second type " +
"parameter."},
//Signature of method with type parameters
{BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
@ -117,17 +117,17 @@ public class TestNewLanguageFeatures extends JavadocTester {
//Signature of subclass that has type parameters.
{BUG_ID + FS + "pkg" + FS + "TypeParameterSubClass.html",
"public class <STRONG>TypeParameterSubClass&lt;T extends java.lang.String&gt;" +
"</STRONG><DT>extends <A HREF=\"../pkg/TypeParameterSuperClass.html\" " +
"</STRONG>" + NL + "extends <A HREF=\"../pkg/TypeParameterSuperClass.html\" " +
"title=\"class in pkg\">TypeParameterSuperClass</A>&lt;T&gt;"},
//Interface generic parameter substitution
//Signature of subclass that has type parameters.
{BUG_ID + FS + "pkg" + FS + "TypeParameters.html",
"<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;E&gt;, <A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;E&gt;</DD>"},
"<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;E&gt;, <A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;E&gt;</DD>"},
{BUG_ID + FS + "pkg" + FS + "SuperInterface.html",
"<STRONG>All Known Subinterfaces:</STRONG> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;V&gt;</DD>"},
"<STRONG>All Known Subinterfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A>&lt;V&gt;</DD>"},
{BUG_ID + FS + "pkg" + FS + "SubInterface.html",
"<STRONG>All Superinterfaces:</STRONG> <DD><A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;V&gt;</DD>"},
"<STRONG>All Superinterfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A>&lt;V&gt;</DD>"},
//=================================
// VAR ARG TESTING
@ -166,7 +166,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
"Element Detail"},
//Make sure default annotation type value is printed when necessary.
{BUG_ID + FS + "pkg" + FS + "AnnotationType.html",
"<STRONG>Default:</STRONG><DD>\"unknown\"</DD>"},
"<STRONG>Default:</STRONG></DT><DD>\"unknown\"</DD>"},
//=================================
// ANNOTATION TYPE USAGE TESTING
@ -182,7 +182,8 @@ public class TestNewLanguageFeatures extends JavadocTester {
"<FONT SIZE=\"-1\">" +
"<A HREF=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</A>(<A HREF=\"../pkg/AnnotationType.html#optional()\">optional</A>=\"Class Annotation\","+NL +
" <A HREF=\"../pkg/AnnotationType.html#required()\">required</A>=1994)"+NL +
"</FONT>public class <STRONG>AnnotationTypeUsage</STRONG><DT>extends java.lang.Object</DL>"},
"</FONT>public class <STRONG>AnnotationTypeUsage</STRONG>" + NL +
"extends java.lang.Object"},
//FIELD
{BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
@ -270,8 +271,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
{BUG_ID + FS + "pkg1" + FS + "B.html",
"<PRE><FONT SIZE=\"-1\"><A HREF=\"../pkg1/A.html\" title=\"annotation in pkg1\">@A</A>"},
{BUG_ID + FS + "pkg1" + FS + "B.html",
"</FONT>public interface <STRONG>B</STRONG></DL>" + NL +
"</PRE>"},
"</FONT>public interface <STRONG>B</STRONG></PRE>"},
//==============================================================
@ -525,7 +525,7 @@ public class TestNewLanguageFeatures extends JavadocTester {
"<FONT SIZE=\"-1\">" + NL +
"<A HREF=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</A>(<A HREF=\"../pkg/AnnotationType.html#optional\">optional</A>=\"Class Annotation\"," + NL +
" <A HREF=\"../pkg/AnnotationType.html#required\">required</A>=1994)" + NL +
"</FONT>public class <STRONG>AnnotationTypeUsage</STRONG><DT>extends java.lang.Object</DL>"},
"</FONT>public class <STRONG>AnnotationTypeUsage</STRONG></DT><DT>extends java.lang.Object</DT></DL>"},
//FIELD
{BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",

View File

@ -40,11 +40,11 @@ public class TestOverridenPrivateMethods extends JavadocTester {
private static final String[][] TEST = {
//The public method should be overriden
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
//The public method in different package should be overriden
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}
};
private static final String[][] NEGATED_TEST = {
@ -52,20 +52,20 @@ public class TestOverridenPrivateMethods extends JavadocTester {
//The package private method should be overriden since the base and sub class are in the same
//package. However, the link should not show up because the package private methods are not documented.
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
//The private method in should not be overriden
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
//The private method in different package should not be overriden
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
//The package private method should not be overriden since the base and sub class are in
//different packages.
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
};
private static final String[] ARGS =

View File

@ -40,32 +40,32 @@ public class TestOverridenPrivateMethodsWithPackageFlag extends JavadocTester {
private static final String[][] TEST = {
//The public method should be overriden
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
//The public method in different package should be overriden
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
//The package private method should be overriden since the base and sub class are in the same
//package.
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
};
private static final String[][] NEGATED_TEST = {
//The private method in should not be overriden
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
//The private method in different package should not be overriden
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
//The package private method should not be overriden since the base and sub class are in
//different packages.
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
};
private static final String[] ARGS =

View File

@ -40,32 +40,32 @@ public class TestOverridenPrivateMethodsWithPrivateFlag extends JavadocTester {
private static final String[][] TEST = {
//The public method should be overriden
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
//The package private method should be overriden since the base and sub class are in the same
//package.
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"},
//The public method in different package should be overriden
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"},
};
private static final String[][] NEGATED_TEST = {
//The private method in should not be overriden
{BUG_ID + FS + "pkg1" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
//The private method in different package should not be overriden
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"},
//The package private method should not be overriden since the base and sub class are in
//different packages.
{BUG_ID + FS + "pkg2" + FS + "SubClass.html",
"Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
"Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}
};

View File

@ -48,12 +48,12 @@ public class TestParamTaglet extends JavadocTester {
private static final String[][] TEST = {
//Regular param tags.
{BUG_ID + FS + "pkg" + FS + "C.html",
"<STRONG>Parameters:</STRONG><DD><CODE>param1</CODE> - testing 1 2 3." +
"<STRONG>Parameters:</STRONG></DT><DD><CODE>param1</CODE> - testing 1 2 3.</DD>" +
"<DD><CODE>param2</CODE> - testing 1 2 3."
},
//Param tags that don't match with any real parameters.
{BUG_ID + FS + "pkg" + FS + "C.html",
"<STRONG>Parameters:</STRONG><DD><CODE><I>p1</I></CODE> - testing 1 2 3." +
"<STRONG>Parameters:</STRONG></DT><DD><CODE><I>p1</I></CODE> - testing 1 2 3.</DD>" +
"<DD><CODE><I>p2</I></CODE> - testing 1 2 3."
},
//{@inherit} doc misuse does not cause doclet to throw exception.

View File

@ -96,11 +96,11 @@ public class TestPrivateClasses extends JavadocTester {
//Make sure implemented interfaces from private superclass are inherited
{BUG_ID + "-1" + FS + "pkg" + FS + "PublicInterface.html",
"<STRONG>All Known Implementing Classes:</STRONG> <DD><A HREF=\"../pkg/PublicChild.html\" " +
"<STRONG>All Known Implementing Classes:</STRONG></DT> <DD><A HREF=\"../pkg/PublicChild.html\" " +
"title=\"class in pkg\">PublicChild</A>"},
{BUG_ID + "-1" + FS + "pkg" + FS + "PublicChild.html",
"<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/PublicInterface.html\" " +
"<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/PublicInterface.html\" " +
"title=\"interface in pkg\">PublicInterface</A>"},
//Generic interface method test.
@ -174,18 +174,18 @@ public class TestPrivateClasses extends JavadocTester {
},
// Should document that a method overrides method from private class.
{BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html",
"<STRONG>Overrides:</STRONG><DD><CODE>" +
"<STRONG>Overrides:</STRONG></DT><DD><CODE>" +
"<A HREF=\"../pkg/PrivateParent.html#methodOverridenFromParent(char[], int, T, V, java.util.List)\">" +
"methodOverridenFromParent</A></CODE> in class <CODE>" +
"<A HREF=\"../pkg/PrivateParent.html\" title=\"class in pkg\">" +
"PrivateParent</A></CODE></DL>"},
"PrivateParent</A></CODE></DD>" + NL + "</DL>"},
// Should document that a method is specified by private interface.
{BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html",
"<STRONG>Specified by:</STRONG><DD><CODE>" +
"<STRONG>Specified by:</STRONG></DT><DD><CODE>" +
"<A HREF=\"../pkg/PrivateInterface.html#methodInterface(int)\">" +
"methodInterface</A></CODE> in interface <CODE>" +
"<A HREF=\"../pkg/PrivateInterface.html\" title=\"interface in pkg\">" +
"PrivateInterface</A></CODE></DL>" + NL + "</DD>"},
"PrivateInterface</A></CODE></DD>" + NL + "</DL>" + NL + "</DD>"},
// Method inheritence from non-public superinterface.
{BUG_ID + "-2" + FS + "pkg" + FS + "PublicInterface.html",
"Methods inherited from interface " +
@ -209,12 +209,12 @@ public class TestPrivateClasses extends JavadocTester {
//Make sure implemented interfaces from private superclass are inherited
{BUG_ID + "-2" + FS + "pkg" + FS + "PublicInterface.html",
"<STRONG>All Known Implementing Classes:</STRONG> <DD><A HREF=\"../pkg/PrivateParent.html\" " +
"<STRONG>All Known Implementing Classes:</STRONG></DT> <DD><A HREF=\"../pkg/PrivateParent.html\" " +
"title=\"class in pkg\">PrivateParent</A>, " +
"<A HREF=\"../pkg/PublicChild.html\" title=\"class in pkg\">PublicChild</A>"},
{BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html",
"<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/PrivateInterface.html\" " +
"<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/PrivateInterface.html\" " +
"title=\"interface in pkg\">PrivateInterface</A>, " +
"<A HREF=\"../pkg/PublicInterface.html\" title=\"interface in pkg\">" +
"PublicInterface</A>"},
@ -226,7 +226,7 @@ public class TestPrivateClasses extends JavadocTester {
"<CODE><A HREF=\"../pkg2/I.html#hello(T)\">I</A></CODE></STRONG>"},
{BUG_ID + "-2" + FS + "pkg2" + FS + "C.html",
"<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"../pkg2/I.html#hello(T)\">" +
"<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"../pkg2/I.html#hello(T)\">" +
"hello</A></CODE> in interface <CODE><A HREF=\"../pkg2/I.html\" " +
"title=\"interface in pkg2\">I</A>"},
};

View File

@ -41,39 +41,39 @@ public class TestSerializedFormDeprecationInfo extends JavadocTester {
// Test for normal run of javadoc. The serialized-form.html should
// display the inline comments, tags and deprecation information if any.
private static final String[][] TEST_CMNT_DEPR = {
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL + NL +
"<DT><STRONG>Throws:</STRONG>" + NL + "<DD><CODE>" +
"java.io.IOException</CODE><DT><STRONG>See Also:</STRONG>" +
"<DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DD>" + NL +
"</DL>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL +
"<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" +
"java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" +
"</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version " +
"1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" +
"<DD>This field indicates whether the C1 is undecorated." + NL +
"<P>" + NL + "<DT><DD>&nbsp;<DL>" + NL +
"<DT><STRONG>Since:</STRONG></DT>" + NL +
"<P>" + NL + "</DD>" + NL + "<DD>&nbsp;</DD>" + NL +
"<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL +
" <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" +
"<DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DL>" + NL +
"</DL>"},
"</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"<DD>Reads the object stream." + NL + "<P>" + NL +
"<DD><DL>" + NL + NL + "<DT><STRONG>Throws:" +
"</STRONG>" + NL + "<DD><CODE><code>" +
"IOException</code></CODE>" + NL +
"<DD><CODE>java.io.IOException</CODE></DD>" + NL +
"</DL>" + NL + "</DL>"},
"</DD><DD>Reads the object stream." + NL + "<P>" + NL +
"</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" +
"</STRONG></DT>" + NL + "<DD><CODE><code>" +
"IOException</code></CODE></DD>" + NL +
"<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL +
"</DD>" + NL + "</DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL +
"<DD><STRONG>Deprecated.</STRONG>&nbsp;<DD>" +
"The name for this class." + NL + "<P>" + NL +
"<DT><DD>&nbsp;<DL>" + NL + "</DL>" + NL + "</DL>"}};
"<DD><STRONG>Deprecated.</STRONG>&nbsp;</DD><DD>" +
"The name for this class." + NL + "<P>" + NL + "</DD>" + NL +
"<DD>&nbsp;</DD>" + NL + "</DL>"}};
// Test with -nocomment option. The serialized-form.html should
// not display the inline comments and tags but should display deprecation
@ -83,16 +83,16 @@ public class TestSerializedFormDeprecationInfo extends JavadocTester {
"undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" +
"setUndecorated(boolean)</CODE></A>.</I></DL>"},
"setUndecorated(boolean)</CODE></A>.</I></DD></DL>"},
{BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;<I>As of JDK version" +
" 1.5, replaced by" + NL +
" <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" +
"<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL +
"</DL>"},
"</DD></DL>"},
{BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" +
"publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" +
"Deprecated.</STRONG>&nbsp;</DL>"}};
"Deprecated.</STRONG>&nbsp;</DD></DL>"}};
// Test with -nodeprecated option. The serialized-form.html should
// ignore the -nodeprecated tag and display the deprecation info. This

View File

@ -46,14 +46,14 @@ public class TestThrowsTag extends JavadocTester {
//Input for string search tests.
private static final String[][] TEST = {
{BUG_ID + FS + "pkg" + FS + "C.html",
"<DD><CODE><A HREF=\"../pkg/T1.html\" title=\"class in pkg\">T1</A></CODE> - the first throws tag." + NL +
"<DD><CODE><A HREF=\"../pkg/T2.html\" title=\"class in pkg\">T2</A></CODE> - the second throws tag." + NL +
"<DD><CODE><A HREF=\"../pkg/T3.html\" title=\"class in pkg\">T3</A></CODE> - the third throws tag." + NL +
"<DD><CODE><A HREF=\"../pkg/T4.html\" title=\"class in pkg\">T4</A></CODE> - the fourth throws tag." + NL +
"<DD><CODE><A HREF=\"../pkg/T5.html\" title=\"class in pkg\">T5</A></CODE> - the first inherited throws tag." + NL +
"<DD><CODE><A HREF=\"../pkg/T6.html\" title=\"class in pkg\">T6</A></CODE> - the second inherited throws tag." + NL +
"<DD><CODE><A HREF=\"../pkg/T7.html\" title=\"class in pkg\">T7</A></CODE> - the third inherited throws tag." + NL +
"<DD><CODE><A HREF=\"../pkg/T8.html\" title=\"class in pkg\">T8</A></CODE> - the fourth inherited throws tag."
"<DD><CODE><A HREF=\"../pkg/T1.html\" title=\"class in pkg\">T1</A></CODE> - the first throws tag.</DD>" + NL +
"<DD><CODE><A HREF=\"../pkg/T2.html\" title=\"class in pkg\">T2</A></CODE> - the second throws tag.</DD>" + NL +
"<DD><CODE><A HREF=\"../pkg/T3.html\" title=\"class in pkg\">T3</A></CODE> - the third throws tag.</DD>" + NL +
"<DD><CODE><A HREF=\"../pkg/T4.html\" title=\"class in pkg\">T4</A></CODE> - the fourth throws tag.</DD>" + NL +
"<DD><CODE><A HREF=\"../pkg/T5.html\" title=\"class in pkg\">T5</A></CODE> - the first inherited throws tag.</DD>" + NL +
"<DD><CODE><A HREF=\"../pkg/T6.html\" title=\"class in pkg\">T6</A></CODE> - the second inherited throws tag.</DD>" + NL +
"<DD><CODE><A HREF=\"../pkg/T7.html\" title=\"class in pkg\">T7</A></CODE> - the third inherited throws tag.</DD>" + NL +
"<DD><CODE><A HREF=\"../pkg/T8.html\" title=\"class in pkg\">T8</A></CODE> - the fourth inherited throws tag.</DD>"
},
};
private static final String[][] NEGATED_TEST = NO_TEST;