Fri, 27 Feb 2009 18:57:17 -0800
6786690: Javadoc HTML WCAG 2.0 accessibility issues in standard doclet - DL tag and nesting issue
Reviewed-by: jjg
1.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java Tue Feb 24 17:48:53 2009 -0800 1.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java Fri Feb 27 18:57:17 2009 -0800 1.3 @@ -25,11 +25,11 @@ 1.4 1.5 package com.sun.tools.doclets.formats.html; 1.6 1.7 -import com.sun.tools.doclets.internal.toolkit.util.*; 1.8 +import java.io.*; 1.9 +import java.util.*; 1.10 1.11 import com.sun.javadoc.*; 1.12 -import java.io.*; 1.13 -import java.util.*; 1.14 +import com.sun.tools.doclets.internal.toolkit.util.*; 1.15 1.16 /** 1.17 * Generate Index for all the Member Names with Indexing in 1.18 @@ -100,18 +100,22 @@ 1.19 h2(); 1.20 strong(unicode.toString()); 1.21 h2End(); 1.22 - dl(); 1.23 - for (int i = 0; i < memberlist.size(); i++) { 1.24 - Doc element = memberlist.get(i); 1.25 - if (element instanceof MemberDoc) { 1.26 - printDescription((MemberDoc)element); 1.27 - } else if (element instanceof ClassDoc) { 1.28 - printDescription((ClassDoc)element); 1.29 - } else if (element instanceof PackageDoc) { 1.30 - printDescription((PackageDoc)element); 1.31 + int memberListSize = memberlist.size(); 1.32 + // Display the list only if there are elements to be displayed. 1.33 + if (memberListSize > 0) { 1.34 + dl(); 1.35 + for (int i = 0; i < memberListSize; i++) { 1.36 + Doc element = memberlist.get(i); 1.37 + if (element instanceof MemberDoc) { 1.38 + printDescription((MemberDoc)element); 1.39 + } else if (element instanceof ClassDoc) { 1.40 + printDescription((ClassDoc)element); 1.41 + } else if (element instanceof PackageDoc) { 1.42 + printDescription((PackageDoc)element); 1.43 + } 1.44 } 1.45 + dlEnd(); 1.46 } 1.47 - dlEnd(); 1.48 hr(); 1.49 } 1.50 1.51 @@ -126,8 +130,10 @@ 1.52 printPackageLink(pkg, Util.getPackageName(pkg), true); 1.53 print(" - "); 1.54 print(configuration.getText("doclet.package") + " " + pkg.name()); 1.55 + dtEnd(); 1.56 dd(); 1.57 printSummaryComment(pkg); 1.58 + ddEnd(); 1.59 } 1.60 1.61 /** 1.62 @@ -140,8 +146,10 @@ 1.63 printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_INDEX, cd, true)); 1.64 print(" - "); 1.65 printClassInfo(cd); 1.66 + dtEnd(); 1.67 dd(); 1.68 printComment(cd); 1.69 + ddEnd(); 1.70 } 1.71 1.72 /** 1.73 @@ -178,8 +186,10 @@ 1.74 println(" - "); 1.75 printMemberDesc(member); 1.76 println(); 1.77 + dtEnd(); 1.78 dd(); 1.79 printComment(member); 1.80 + ddEnd(); 1.81 println(); 1.82 } 1.83
2.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Tue Feb 24 17:48:53 2009 -0800 2.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java Fri Feb 27 18:57:17 2009 -0800 2.3 @@ -25,19 +25,20 @@ 2.4 2.5 package com.sun.tools.doclets.formats.html; 2.6 2.7 +import java.lang.reflect.Modifier; 2.8 +import java.util.*; 2.9 + 2.10 +import com.sun.javadoc.*; 2.11 import com.sun.tools.doclets.internal.toolkit.util.*; 2.12 import com.sun.tools.doclets.internal.toolkit.taglets.*; 2.13 2.14 -import com.sun.javadoc.*; 2.15 -import java.util.*; 2.16 -import java.lang.reflect.Modifier; 2.17 - 2.18 /** 2.19 * The base class for member writers. 2.20 * 2.21 * @author Robert Field 2.22 * @author Atul M Dambalkar 2.23 * @author Jamie Ho (Re-write) 2.24 + * @author Bhavesh Patel (Modified) 2.25 */ 2.26 public abstract class AbstractMemberWriter { 2.27 2.28 @@ -232,10 +233,26 @@ 2.29 } 2.30 } 2.31 2.32 + /** 2.33 + * Print the deprecated output for the given member. 2.34 + * 2.35 + * @param member the member being documented. 2.36 + */ 2.37 + protected void printDeprecated(ProgramElementDoc member) { 2.38 + String output = (new DeprecatedTaglet()).getTagletOutput(member, 2.39 + writer.getTagletWriterInstance(false)).toString().trim(); 2.40 + if (!output.isEmpty()) { 2.41 + writer.printMemberDetailsListStartTag(); 2.42 + writer.print(output); 2.43 + } 2.44 + } 2.45 + 2.46 protected void printComment(ProgramElementDoc member) { 2.47 if (member.inlineTags().length > 0) { 2.48 + writer.printMemberDetailsListStartTag(); 2.49 writer.dd(); 2.50 writer.printInlineComment(member); 2.51 + writer.ddEnd(); 2.52 } 2.53 } 2.54 2.55 @@ -267,6 +284,14 @@ 2.56 } 2.57 2.58 /** 2.59 + * Write the member footer. 2.60 + */ 2.61 + protected void printMemberFooter() { 2.62 + writer.printMemberDetailsListEndTag(); 2.63 + assert !writer.getMemberDetailsListPrinted(); 2.64 + } 2.65 + 2.66 + /** 2.67 * Forward to containing writer 2.68 */ 2.69 public void printSummaryHeader(ClassDoc cd) {
3.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 3.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 3.3 @@ -25,10 +25,10 @@ 3.4 3.5 package com.sun.tools.doclets.formats.html; 3.6 3.7 +import java.io.*; 3.8 + 3.9 +import com.sun.javadoc.*; 3.10 import com.sun.tools.doclets.internal.toolkit.*; 3.11 -import com.sun.javadoc.*; 3.12 - 3.13 -import java.io.*; 3.14 3.15 /** 3.16 * Writes annotation type optional member documentation in HTML format. 3.17 @@ -63,14 +63,20 @@ 3.18 * {@inheritDoc} 3.19 */ 3.20 public void writeDefaultValueInfo(MemberDoc member) { 3.21 - writer.dl(); 3.22 - writer.dt(); 3.23 - writer.strong(ConfigurationImpl.getInstance(). 3.24 - getText("doclet.Default")); 3.25 - writer.dd(); 3.26 - writer.print(((AnnotationTypeElementDoc) member).defaultValue()); 3.27 - writer.ddEnd(); 3.28 - writer.dlEnd(); 3.29 + if (((AnnotationTypeElementDoc) member).defaultValue() != null) { 3.30 + writer.printMemberDetailsListStartTag(); 3.31 + writer.dd(); 3.32 + writer.dl(); 3.33 + writer.dt(); 3.34 + writer.strong(ConfigurationImpl.getInstance(). 3.35 + getText("doclet.Default")); 3.36 + writer.dtEnd(); 3.37 + writer.dd(); 3.38 + writer.print(((AnnotationTypeElementDoc) member).defaultValue()); 3.39 + writer.ddEnd(); 3.40 + writer.dlEnd(); 3.41 + writer.ddEnd(); 3.42 + } 3.43 } 3.44 3.45 /**
4.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 4.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 4.3 @@ -25,11 +25,10 @@ 4.4 4.5 package com.sun.tools.doclets.formats.html; 4.6 4.7 +import java.io.*; 4.8 + 4.9 +import com.sun.javadoc.*; 4.10 import com.sun.tools.doclets.internal.toolkit.*; 4.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*; 4.12 -import com.sun.javadoc.*; 4.13 - 4.14 -import java.io.*; 4.15 4.16 /** 4.17 * Writes annotation type required member documentation in HTML format. 4.18 @@ -134,17 +133,14 @@ 4.19 strong(member.name()); 4.20 } 4.21 writer.preEnd(); 4.22 - writer.dl(); 4.23 + assert !writer.getMemberDetailsListPrinted(); 4.24 } 4.25 4.26 /** 4.27 * {@inheritDoc} 4.28 */ 4.29 public void writeComments(MemberDoc member) { 4.30 - if (member.inlineTags().length > 0) { 4.31 - writer.dd(); 4.32 - writer.printInlineComment(member); 4.33 - } 4.34 + printComment(member); 4.35 } 4.36 4.37 /** 4.38 @@ -160,7 +156,7 @@ 4.39 * Write the annotation type member footer. 4.40 */ 4.41 public void writeMemberFooter() { 4.42 - writer.dlEnd(); 4.43 + printMemberFooter(); 4.44 } 4.45 4.46 /** 4.47 @@ -267,9 +263,7 @@ 4.48 * {@inheritDoc} 4.49 */ 4.50 public void writeDeprecated(MemberDoc member) { 4.51 - print(((TagletOutputImpl) 4.52 - (new DeprecatedTaglet()).getTagletOutput(member, 4.53 - writer.getTagletWriterInstance(false))).toString()); 4.54 + printDeprecated(member); 4.55 } 4.56 4.57 private Type getType(MemberDoc member) {
5.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 5.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 5.3 @@ -25,10 +25,10 @@ 5.4 5.5 package com.sun.tools.doclets.formats.html; 5.6 5.7 +import com.sun.javadoc.*; 5.8 import com.sun.tools.doclets.internal.toolkit.*; 5.9 import com.sun.tools.doclets.internal.toolkit.util.*; 5.10 import com.sun.tools.doclets.internal.toolkit.builders.*; 5.11 -import com.sun.javadoc.*; 5.12 5.13 /** 5.14 * Generate the Class Information Page. 5.15 @@ -165,8 +165,6 @@ 5.16 * {@inheritDoc} 5.17 */ 5.18 public void writeAnnotationTypeSignature(String modifiers) { 5.19 - dl(); 5.20 - dt(); 5.21 preNoNewLine(); 5.22 writeAnnotationInfo(annotationType); 5.23 print(modifiers); 5.24 @@ -178,7 +176,6 @@ 5.25 } else { 5.26 strong(name); 5.27 } 5.28 - dlEnd(); 5.29 preEnd(); 5.30 p(); 5.31 } 5.32 @@ -334,6 +331,7 @@ 5.33 } else { 5.34 strongText("doclet.Enclosing_Class"); 5.35 } 5.36 + dtEnd(); 5.37 dd(); 5.38 printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS, outerClass, 5.39 false));
6.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 6.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 6.3 @@ -25,12 +25,12 @@ 6.4 6.5 package com.sun.tools.doclets.formats.html; 6.6 6.7 +import java.util.*; 6.8 + 6.9 +import com.sun.javadoc.*; 6.10 import com.sun.tools.doclets.internal.toolkit.*; 6.11 import com.sun.tools.doclets.internal.toolkit.util.*; 6.12 import com.sun.tools.doclets.internal.toolkit.builders.*; 6.13 -import com.sun.javadoc.*; 6.14 - 6.15 -import java.util.*; 6.16 import com.sun.tools.doclets.internal.toolkit.taglets.*; 6.17 6.18 /** 6.19 @@ -171,8 +171,6 @@ 6.20 */ 6.21 public void writeClassSignature(String modifiers) { 6.22 boolean isInterface = classDoc.isInterface(); 6.23 - dl(); 6.24 - dt(); 6.25 preNoNewLine(); 6.26 writeAnnotationInfo(classDoc); 6.27 print(modifiers); 6.28 @@ -191,7 +189,7 @@ 6.29 Type superclass = Util.getFirstVisibleSuperClass(classDoc, 6.30 configuration()); 6.31 if (superclass != null) { 6.32 - dt(); 6.33 + println(); 6.34 print("extends "); 6.35 printLink(new LinkInfoImpl( 6.36 LinkInfoImpl.CONTEXT_CLASS_SIGNATURE_PARENT_NAME, 6.37 @@ -208,7 +206,7 @@ 6.38 continue; 6.39 } 6.40 if (counter == 0) { 6.41 - dt(); 6.42 + println(); 6.43 print(isInterface? "extends " : "implements "); 6.44 } else { 6.45 print(", "); 6.46 @@ -219,7 +217,6 @@ 6.47 counter++; 6.48 } 6.49 } 6.50 - dlEnd(); 6.51 preEnd(); 6.52 p(); 6.53 } 6.54 @@ -342,6 +339,7 @@ 6.55 TagletOutput output = (new ParamTaglet()).getTagletOutput(classDoc, 6.56 getTagletWriterInstance(false)); 6.57 print(output.toString()); 6.58 + dtEnd(); 6.59 dlEnd(); 6.60 } 6.61 } 6.62 @@ -360,8 +358,10 @@ 6.63 dl(); 6.64 dt(); 6.65 strongText("doclet.Subclasses"); 6.66 + dtEnd(); 6.67 writeClassLinks(LinkInfoImpl.CONTEXT_SUBCLASSES, 6.68 subclasses); 6.69 + dlEnd(); 6.70 } 6.71 } 6.72 } 6.73 @@ -376,8 +376,10 @@ 6.74 dl(); 6.75 dt(); 6.76 strongText("doclet.Subinterfaces"); 6.77 + dtEnd(); 6.78 writeClassLinks(LinkInfoImpl.CONTEXT_SUBINTERFACES, 6.79 subInterfaces); 6.80 + dlEnd(); 6.81 } 6.82 } 6.83 } 6.84 @@ -398,8 +400,10 @@ 6.85 dl(); 6.86 dt(); 6.87 strongText("doclet.Implementing_Classes"); 6.88 + dtEnd(); 6.89 writeClassLinks(LinkInfoImpl.CONTEXT_IMPLEMENTED_CLASSES, 6.90 implcl); 6.91 + dlEnd(); 6.92 } 6.93 } 6.94 6.95 @@ -414,8 +418,10 @@ 6.96 dl(); 6.97 dt(); 6.98 strongText("doclet.All_Implemented_Interfaces"); 6.99 + dtEnd(); 6.100 writeClassLinks(LinkInfoImpl.CONTEXT_IMPLEMENTED_INTERFACES, 6.101 interfaceArray); 6.102 + dlEnd(); 6.103 } 6.104 } 6.105 6.106 @@ -430,8 +436,10 @@ 6.107 dl(); 6.108 dt(); 6.109 strongText("doclet.All_Superinterfaces"); 6.110 + dtEnd(); 6.111 writeClassLinks(LinkInfoImpl.CONTEXT_SUPER_INTERFACES, 6.112 interfaceArray); 6.113 + dlEnd(); 6.114 } 6.115 } 6.116 6.117 @@ -455,7 +463,6 @@ 6.118 } 6.119 } 6.120 ddEnd(); 6.121 - dlEnd(); 6.122 } 6.123 6.124 protected void navLinkTree() { 6.125 @@ -574,6 +581,7 @@ 6.126 } else { 6.127 strongText("doclet.Enclosing_Class"); 6.128 } 6.129 + dtEnd(); 6.130 dd(); 6.131 printLink(new LinkInfoImpl(LinkInfoImpl.CONTEXT_CLASS, outerClass, 6.132 false));
7.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 7.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 7.3 @@ -25,12 +25,12 @@ 7.4 7.5 package com.sun.tools.doclets.formats.html; 7.6 7.7 +import java.io.*; 7.8 +import java.util.*; 7.9 + 7.10 +import com.sun.javadoc.*; 7.11 import com.sun.tools.doclets.internal.toolkit.*; 7.12 import com.sun.tools.doclets.internal.toolkit.util.*; 7.13 -import com.sun.tools.doclets.internal.toolkit.taglets.*; 7.14 -import com.sun.javadoc.*; 7.15 -import java.util.*; 7.16 -import java.io.*; 7.17 7.18 /** 7.19 * Writes constructor documentation. 7.20 @@ -149,7 +149,7 @@ 7.21 writeParameters(constructor); 7.22 writeExceptions(constructor); 7.23 writer.preEnd(); 7.24 - writer.dl(); 7.25 + assert !writer.getMemberDetailsListPrinted(); 7.26 } 7.27 7.28 /** 7.29 @@ -158,12 +158,7 @@ 7.30 * @param constructor the constructor being documented. 7.31 */ 7.32 public void writeDeprecated(ConstructorDoc constructor) { 7.33 - String output = ((TagletOutputImpl) 7.34 - (new DeprecatedTaglet()).getTagletOutput(constructor, 7.35 - writer.getTagletWriterInstance(false))).toString(); 7.36 - if (output != null && output.trim().length() > 0) { 7.37 - writer.print(output); 7.38 - } 7.39 + printDeprecated(constructor); 7.40 } 7.41 7.42 /** 7.43 @@ -172,10 +167,7 @@ 7.44 * @param constructor the constructor being documented. 7.45 */ 7.46 public void writeComments(ConstructorDoc constructor) { 7.47 - if (constructor.inlineTags().length > 0) { 7.48 - writer.dd(); 7.49 - writer.printInlineComment(constructor); 7.50 - } 7.51 + printComment(constructor); 7.52 } 7.53 7.54 /** 7.55 @@ -191,7 +183,7 @@ 7.56 * Write the constructor footer. 7.57 */ 7.58 public void writeConstructorFooter() { 7.59 - writer.dlEnd(); 7.60 + printMemberFooter(); 7.61 } 7.62 7.63 /**
8.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 8.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 8.3 @@ -25,12 +25,11 @@ 8.4 8.5 package com.sun.tools.doclets.formats.html; 8.6 8.7 +import java.io.*; 8.8 + 8.9 +import com.sun.javadoc.*; 8.10 import com.sun.tools.doclets.internal.toolkit.*; 8.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*; 8.12 import com.sun.tools.doclets.internal.toolkit.util.*; 8.13 -import com.sun.javadoc.*; 8.14 - 8.15 -import java.io.*; 8.16 8.17 /** 8.18 * Writes enum constant documentation in HTML format. 8.19 @@ -146,26 +145,21 @@ 8.20 strong(enumConstant.name()); 8.21 } 8.22 writer.preEnd(); 8.23 - writer.dl(); 8.24 + assert !writer.getMemberDetailsListPrinted(); 8.25 } 8.26 8.27 /** 8.28 * {@inheritDoc} 8.29 */ 8.30 public void writeDeprecated(FieldDoc enumConstant) { 8.31 - print(((TagletOutputImpl) 8.32 - (new DeprecatedTaglet()).getTagletOutput(enumConstant, 8.33 - writer.getTagletWriterInstance(false))).toString()); 8.34 + printDeprecated(enumConstant); 8.35 } 8.36 8.37 /** 8.38 * {@inheritDoc} 8.39 */ 8.40 public void writeComments(FieldDoc enumConstant) { 8.41 - if (enumConstant.inlineTags().length > 0) { 8.42 - writer.dd(); 8.43 - writer.printInlineComment(enumConstant); 8.44 - } 8.45 + printComment(enumConstant); 8.46 } 8.47 8.48 /** 8.49 @@ -179,7 +173,7 @@ 8.50 * {@inheritDoc} 8.51 */ 8.52 public void writeEnumConstantFooter() { 8.53 - writer.dlEnd(); 8.54 + printMemberFooter(); 8.55 } 8.56 8.57 /**
9.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 9.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 9.3 @@ -25,12 +25,11 @@ 9.4 9.5 package com.sun.tools.doclets.formats.html; 9.6 9.7 +import java.io.*; 9.8 + 9.9 +import com.sun.javadoc.*; 9.10 import com.sun.tools.doclets.internal.toolkit.*; 9.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*; 9.12 import com.sun.tools.doclets.internal.toolkit.util.*; 9.13 -import com.sun.javadoc.*; 9.14 - 9.15 -import java.io.*; 9.16 9.17 /** 9.18 * Writes field documentation in HTML format. 9.19 @@ -156,7 +155,7 @@ 9.20 strong(field.name()); 9.21 } 9.22 writer.preEnd(); 9.23 - writer.dl(); 9.24 + assert !writer.getMemberDetailsListPrinted(); 9.25 } 9.26 9.27 /** 9.28 @@ -165,9 +164,7 @@ 9.29 * @param field the field being documented. 9.30 */ 9.31 public void writeDeprecated(FieldDoc field) { 9.32 - print(((TagletOutputImpl) 9.33 - (new DeprecatedTaglet()).getTagletOutput(field, 9.34 - writer.getTagletWriterInstance(false))).toString()); 9.35 + printDeprecated(field); 9.36 } 9.37 9.38 /** 9.39 @@ -178,10 +175,12 @@ 9.40 public void writeComments(FieldDoc field) { 9.41 ClassDoc holder = field.containingClass(); 9.42 if (field.inlineTags().length > 0) { 9.43 + writer.printMemberDetailsListStartTag(); 9.44 if (holder.equals(classdoc) || 9.45 (! (holder.isPublic() || Util.isLinkable(holder, configuration())))) { 9.46 writer.dd(); 9.47 writer.printInlineComment(field); 9.48 + writer.ddEnd(); 9.49 } else { 9.50 String classlink = writer.codeText( 9.51 writer.getDocLink(LinkInfoImpl.CONTEXT_FIELD_DOC_COPY, 9.52 @@ -196,6 +195,7 @@ 9.53 writer.ddEnd(); 9.54 writer.dd(); 9.55 writer.printInlineComment(field); 9.56 + writer.ddEnd(); 9.57 } 9.58 } 9.59 } 9.60 @@ -213,7 +213,7 @@ 9.61 * Write the field footer. 9.62 */ 9.63 public void writeFieldFooter() { 9.64 - writer.dlEnd(); 9.65 + printMemberFooter(); 9.66 } 9.67 9.68 /**
10.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Tue Feb 24 17:48:53 2009 -0800 10.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Fri Feb 27 18:57:17 2009 -0800 10.3 @@ -24,17 +24,16 @@ 10.4 */ 10.5 10.6 package com.sun.tools.doclets.formats.html; 10.7 -import com.sun.tools.doclets.formats.html.markup.*; 10.8 10.9 -import com.sun.tools.doclets.internal.toolkit.*; 10.10 -import com.sun.tools.doclets.internal.toolkit.util.*; 10.11 -import com.sun.tools.doclets.internal.toolkit.taglets.*; 10.12 - 10.13 -import com.sun.javadoc.*; 10.14 import java.io.*; 10.15 import java.text.SimpleDateFormat; 10.16 import java.util.*; 10.17 10.18 +import com.sun.javadoc.*; 10.19 +import com.sun.tools.doclets.formats.html.markup.*; 10.20 +import com.sun.tools.doclets.internal.toolkit.*; 10.21 +import com.sun.tools.doclets.internal.toolkit.util.*; 10.22 +import com.sun.tools.doclets.internal.toolkit.taglets.*; 10.23 10.24 /** 10.25 * Class for the Html Format Code Generation specific to JavaDoc. 10.26 @@ -44,6 +43,7 @@ 10.27 * @since 1.2 10.28 * @author Atul M Dambalkar 10.29 * @author Robert Field 10.30 + * @author Bhavesh Patel (Modified) 10.31 */ 10.32 public class HtmlDocletWriter extends HtmlDocWriter { 10.33 10.34 @@ -205,7 +205,13 @@ 10.35 private void printMethodInfo(MethodDoc method) { 10.36 ClassDoc[] intfacs = method.containingClass().interfaces(); 10.37 MethodDoc overriddenMethod = method.overriddenMethod(); 10.38 - if (intfacs.length > 0 || overriddenMethod != null) { 10.39 + // Check whether there is any implementation or overridden info to be 10.40 + // printed. If no overridden or implementation info needs to be 10.41 + // printed, do not print this section. 10.42 + if ((intfacs.length > 0 && 10.43 + new ImplementedMethods(method, this.configuration).build().length > 0) || 10.44 + overriddenMethod != null) { 10.45 + printMemberDetailsListStartTag(); 10.46 dd(); 10.47 printTagsInfoHeader(); 10.48 MethodWriterImpl.printImplementsInfo(this, method); 10.49 @@ -216,7 +222,6 @@ 10.50 printTagsInfoFooter(); 10.51 ddEnd(); 10.52 } 10.53 - dd(); 10.54 } 10.55 10.56 protected void printTags(Doc doc) { 10.57 @@ -230,41 +235,35 @@ 10.58 TagletWriter.genTagOuput(configuration.tagletManager, doc, 10.59 configuration.tagletManager.getCustomTags(doc), 10.60 getTagletWriterInstance(false), output); 10.61 - if (output.toString().trim().length() > 0) { 10.62 + String outputString = output.toString().trim(); 10.63 + // For RootDoc and ClassDoc, this section is not the definition description 10.64 + // but the start of definition list. 10.65 + if (!outputString.isEmpty()) { 10.66 + if (!(doc instanceof RootDoc || doc instanceof ClassDoc)) { 10.67 + printMemberDetailsListStartTag(); 10.68 + dd(); 10.69 + } 10.70 printTagsInfoHeader(); 10.71 - print(output.toString()); 10.72 + print(outputString); 10.73 printTagsInfoFooter(); 10.74 - } else if (! (doc instanceof ConstructorDoc || 10.75 - doc instanceof RootDoc || doc instanceof ClassDoc)) { 10.76 - //To be consistent with 1.4.2 output. 10.77 - //I hate to do this but we have to pass the diff test to prove 10.78 - //nothing has broken. 10.79 - printTagsInfoHeader(); 10.80 - printTagsInfoFooter(); 10.81 + if (!(doc instanceof RootDoc || doc instanceof ClassDoc)) 10.82 + ddEnd(); 10.83 } 10.84 } 10.85 10.86 /** 10.87 - * Check whether there are any tags to be printed. 10.88 + * Check whether there are any tags for Serialization Overview 10.89 + * section to be printed. 10.90 * 10.91 - * @param doc the Doc object to check for tags. 10.92 + * @param field the FieldDoc object to check for tags. 10.93 * @return true if there are tags to be printed else return false. 10.94 */ 10.95 - protected boolean hasTagsToPrint(Doc doc) { 10.96 - if (doc instanceof MethodDoc) { 10.97 - ClassDoc[] intfacs = ((MethodDoc)doc).containingClass().interfaces(); 10.98 - MethodDoc overriddenMethod = ((MethodDoc)doc).overriddenMethod(); 10.99 - if ((intfacs.length > 0 && 10.100 - new ImplementedMethods((MethodDoc)doc, this.configuration).build().length > 0) || 10.101 - overriddenMethod != null) { 10.102 - return true; 10.103 - } 10.104 - } 10.105 + protected boolean hasSerializationOverviewTags(FieldDoc field) { 10.106 TagletOutputImpl output = new TagletOutputImpl(""); 10.107 - TagletWriter.genTagOuput(configuration.tagletManager, doc, 10.108 - configuration.tagletManager.getCustomTags(doc), 10.109 + TagletWriter.genTagOuput(configuration.tagletManager, field, 10.110 + configuration.tagletManager.getCustomTags(field), 10.111 getTagletWriterInstance(false), output); 10.112 - return (output.toString().trim().isEmpty()); 10.113 + return (!output.toString().trim().isEmpty()); 10.114 } 10.115 10.116 /**
11.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java Tue Feb 24 17:48:53 2009 -0800 11.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java Fri Feb 27 18:57:17 2009 -0800 11.3 @@ -25,11 +25,12 @@ 11.4 11.5 package com.sun.tools.doclets.formats.html; 11.6 11.7 +import java.util.*; 11.8 + 11.9 +import com.sun.javadoc.*; 11.10 import com.sun.tools.doclets.internal.toolkit.*; 11.11 import com.sun.tools.doclets.internal.toolkit.taglets.*; 11.12 import com.sun.tools.doclets.internal.toolkit.util.*; 11.13 -import com.sun.javadoc.*; 11.14 -import java.util.*; 11.15 11.16 /** 11.17 * Generate serialized form for serializable fields. 11.18 @@ -37,6 +38,7 @@ 11.19 * <code>serialField</code> is processed. 11.20 * 11.21 * @author Joe Fialli 11.22 + * @author Bhavesh Patel (Modified) 11.23 */ 11.24 public class HtmlSerialFieldWriter extends FieldWriterImpl 11.25 implements SerializedFormWriter.SerialFieldWriter { 11.26 @@ -75,7 +77,7 @@ 11.27 writer.println(); 11.28 if (heading.equals( 11.29 configuration().getText("doclet.Serialized_Form_class"))) { 11.30 - writer.dl(); 11.31 + assert !writer.getMemberDetailsListPrinted(); 11.32 } 11.33 } else { 11.34 writer.printTableHeadingBackground(heading); 11.35 @@ -102,7 +104,7 @@ 11.36 print(fieldDimensions + ' '); 11.37 strong(fieldName); 11.38 writer.preEnd(); 11.39 - writer.dl(); 11.40 + assert !writer.getMemberDetailsListPrinted(); 11.41 } 11.42 11.43 /** 11.44 @@ -111,9 +113,7 @@ 11.45 * @param field the field to document. 11.46 */ 11.47 public void writeMemberDeprecatedInfo(FieldDoc field) { 11.48 - print(((TagletOutputImpl) 11.49 - (new DeprecatedTaglet()).getTagletOutput(field, 11.50 - writer.getTagletWriterInstance(false))).toString()); 11.51 + printDeprecated(field); 11.52 } 11.53 11.54 /** 11.55 @@ -123,14 +123,17 @@ 11.56 */ 11.57 public void writeMemberDescription(FieldDoc field) { 11.58 if (field.inlineTags().length > 0) { 11.59 + writer.printMemberDetailsListStartTag(); 11.60 writer.dd(); 11.61 writer.printInlineComment(field); 11.62 + writer.ddEnd(); 11.63 } 11.64 Tag[] tags = field.tags("serial"); 11.65 if (tags.length > 0) { 11.66 - writer.dt(); 11.67 + writer.printMemberDetailsListStartTag(); 11.68 writer.dd(); 11.69 writer.printInlineComment(field, tags[0]); 11.70 + writer.ddEnd(); 11.71 } 11.72 } 11.73 11.74 @@ -140,9 +143,14 @@ 11.75 * @param serialFieldTag the field to document (represented by tag). 11.76 */ 11.77 public void writeMemberDescription(SerialFieldTag serialFieldTag) { 11.78 - writer.dd(); 11.79 - writer.print(serialFieldTag.description()); 11.80 - writer.dlEnd(); 11.81 + String serialFieldTagDesc = serialFieldTag.description().trim(); 11.82 + if (!serialFieldTagDesc.isEmpty()) { 11.83 + writer.dl(); 11.84 + writer.dd(); 11.85 + writer.print(serialFieldTagDesc); 11.86 + writer.ddEnd(); 11.87 + writer.dlEnd(); 11.88 + } 11.89 } 11.90 11.91 /** 11.92 @@ -151,33 +159,57 @@ 11.93 * @param field the field to document. 11.94 */ 11.95 public void writeMemberTags(FieldDoc field) { 11.96 - writer.dl(); 11.97 TagletOutputImpl output = new TagletOutputImpl(""); 11.98 TagletWriter.genTagOuput(configuration().tagletManager, field, 11.99 configuration().tagletManager.getCustomTags(field), 11.100 writer.getTagletWriterInstance(false), output); 11.101 - if (output.toString().length() > 0) { 11.102 - print(output.toString()); 11.103 + String outputString = output.toString().trim(); 11.104 + if (!outputString.isEmpty()) { 11.105 + writer.printMemberDetailsListStartTag(); 11.106 + writer.dd(); 11.107 + writer.dl(); 11.108 + print(outputString); 11.109 + writer.dlEnd(); 11.110 + writer.ddEnd(); 11.111 } 11.112 - writer.dlEnd(); 11.113 - } 11.114 - public void writeMemberFooter(FieldDoc member) { 11.115 - writer.dlEnd(); 11.116 } 11.117 11.118 /** 11.119 - * Check to see if member details should be printed. If 11.120 + * Check to see if overview details should be printed. If 11.121 * nocomment option set or if there is no text to be printed 11.122 - * for deprecation info, inline comment, no serial tag or inline tags, 11.123 - * do not print member details. 11.124 + * for deprecation info, comment or tags, do not print overview details. 11.125 + * 11.126 + * @param field the field to check overview details for. 11.127 + * @return true if overview details need to be printed 11.128 */ 11.129 - public boolean shouldPrintMemberDetails(FieldDoc field) { 11.130 - if (!configuration().nocomment) 11.131 - if((field.inlineTags().length > 0) || 11.132 - (field.tags("serial").length > 0) || (writer.hasTagsToPrint(field))) 11.133 + public boolean shouldPrintOverview(FieldDoc field) { 11.134 + if (!configuration().nocomment) { 11.135 + if(!field.commentText().isEmpty() || 11.136 + writer.hasSerializationOverviewTags(field)) 11.137 return true; 11.138 - if (!Util.isDeprecated(field)) 11.139 + } 11.140 + if (field.tags("deprecated").length > 0) 11.141 return true; 11.142 return false; 11.143 } 11.144 + 11.145 + public void writeMemberFooter() { 11.146 + printMemberFooter(); 11.147 + } 11.148 + 11.149 + /** 11.150 + * Write the footer information. If the serilization overview section was 11.151 + * printed, check for definition list and close list tag. 11.152 + * 11.153 + * @param heading the heading that was written. 11.154 + */ 11.155 + public void writeFooter(String heading) { 11.156 + if (printedOverallAnchor) { 11.157 + if (heading.equals( 11.158 + configuration().getText("doclet.Serialized_Form_class"))) { 11.159 + writer.printMemberDetailsListEndTag(); 11.160 + assert !writer.getMemberDetailsListPrinted(); 11.161 + } 11.162 + } 11.163 + } 11.164 }
12.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java Tue Feb 24 17:48:53 2009 -0800 12.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java Fri Feb 27 18:57:17 2009 -0800 12.3 @@ -25,9 +25,9 @@ 12.4 12.5 package com.sun.tools.doclets.formats.html; 12.6 12.7 +import com.sun.javadoc.*; 12.8 import com.sun.tools.doclets.internal.toolkit.*; 12.9 import com.sun.tools.doclets.internal.toolkit.taglets.*; 12.10 -import com.sun.javadoc.*; 12.11 12.12 /** 12.13 * Generate serialized form for Serializable/Externalizable methods. 12.14 @@ -66,14 +66,12 @@ 12.15 writeSignature(member); 12.16 } 12.17 12.18 - public void writeMemberFooter(MethodDoc member) { 12.19 - writer.dlEnd(); 12.20 + public void writeMemberFooter() { 12.21 + printMemberFooter(); 12.22 } 12.23 12.24 public void writeDeprecatedMemberInfo(MethodDoc member) { 12.25 - print(((TagletOutputImpl) 12.26 - (new DeprecatedTaglet()).getTagletOutput(member, 12.27 - writer.getTagletWriterInstance(false))).toString()); 12.28 + printDeprecated(member); 12.29 } 12.30 12.31 public void writeMemberDescription(MethodDoc member) { 12.32 @@ -81,23 +79,27 @@ 12.33 } 12.34 12.35 public void writeMemberTags(MethodDoc member) { 12.36 - writer.dd(); 12.37 - writer.dl(); 12.38 TagletOutputImpl output = new TagletOutputImpl(""); 12.39 TagletManager tagletManager = 12.40 ConfigurationImpl.getInstance().tagletManager; 12.41 TagletWriter.genTagOuput(tagletManager, member, 12.42 tagletManager.getSerializedFormTags(), 12.43 writer.getTagletWriterInstance(false), output); 12.44 - print(output.toString()); 12.45 + String outputString = output.toString().trim(); 12.46 + if (!outputString.isEmpty()) { 12.47 + writer.printMemberDetailsListStartTag(); 12.48 + writer.dd(); 12.49 + writer.dl(); 12.50 + print(outputString); 12.51 + writer.dlEnd(); 12.52 + writer.ddEnd(); 12.53 + } 12.54 MethodDoc method = member; 12.55 if (method.name().compareTo("writeExternal") == 0 12.56 && method.tags("serialData").length == 0) { 12.57 serialWarning(member.position(), "doclet.MissingSerialDataTag", 12.58 method.containingClass().qualifiedName(), method.name()); 12.59 } 12.60 - writer.ddEnd(); 12.61 - writer.dlEnd(); 12.62 } 12.63 12.64 protected void printTypeLinkNoDimension(Type type) {
13.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 13.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 13.3 @@ -25,13 +25,13 @@ 13.4 13.5 package com.sun.tools.doclets.formats.html; 13.6 13.7 +import java.io.*; 13.8 + 13.9 +import com.sun.javadoc.*; 13.10 import com.sun.tools.doclets.internal.toolkit.*; 13.11 import com.sun.tools.doclets.internal.toolkit.util.*; 13.12 import com.sun.tools.doclets.internal.toolkit.taglets.*; 13.13 13.14 -import java.io.*; 13.15 -import com.sun.javadoc.*; 13.16 - 13.17 /** 13.18 * Writes method documentation in HTML format. 13.19 * 13.20 @@ -172,7 +172,7 @@ 13.21 writeParameters(method); 13.22 writeExceptions(method); 13.23 writer.preEnd(); 13.24 - writer.dl(); 13.25 + assert !writer.getMemberDetailsListPrinted(); 13.26 } 13.27 13.28 /** 13.29 @@ -181,12 +181,7 @@ 13.30 * @param method the method being documented. 13.31 */ 13.32 public void writeDeprecated(MethodDoc method) { 13.33 - String output = ((TagletOutputImpl) 13.34 - (new DeprecatedTaglet()).getTagletOutput(method, 13.35 - writer.getTagletWriterInstance(false))).toString(); 13.36 - if (output != null && output.trim().length() > 0) { 13.37 - writer.print(output); 13.38 - } 13.39 + printDeprecated(method); 13.40 } 13.41 13.42 /** 13.43 @@ -197,11 +192,13 @@ 13.44 public void writeComments(Type holder, MethodDoc method) { 13.45 ClassDoc holderClassDoc = holder.asClassDoc(); 13.46 if (method.inlineTags().length > 0) { 13.47 + writer.printMemberDetailsListStartTag(); 13.48 if (holder.asClassDoc().equals(classdoc) || 13.49 (! (holderClassDoc.isPublic() || 13.50 Util.isLinkable(holderClassDoc, configuration())))) { 13.51 writer.dd(); 13.52 writer.printInlineComment(method); 13.53 + writer.ddEnd(); 13.54 } else { 13.55 String classlink = writer.codeText( 13.56 writer.getDocLink(LinkInfoImpl.CONTEXT_METHOD_DOC_COPY, 13.57 @@ -217,6 +214,7 @@ 13.58 writer.ddEnd(); 13.59 writer.dd(); 13.60 writer.printInlineComment(method); 13.61 + writer.ddEnd(); 13.62 } 13.63 } 13.64 } 13.65 @@ -234,8 +232,7 @@ 13.66 * Write the method footer. 13.67 */ 13.68 public void writeMethodFooter() { 13.69 - writer.ddEnd(); 13.70 - writer.dlEnd(); 13.71 + printMemberFooter(); 13.72 } 13.73 13.74 /** 13.75 @@ -318,6 +315,7 @@ 13.76 String name = method.name(); 13.77 writer.dt(); 13.78 writer.strongText(label); 13.79 + writer.dtEnd(); 13.80 writer.dd(); 13.81 String methLink = writer.codeText( 13.82 writer.getLink( 13.83 @@ -326,6 +324,7 @@ 13.84 writer.getAnchor(method), name, false) 13.85 )); 13.86 writer.printText("doclet.in_class", methLink, overriddenTypeLink); 13.87 + writer.ddEnd(); 13.88 } 13.89 } 13.90 13.91 @@ -364,11 +363,13 @@ 13.92 LinkInfoImpl.CONTEXT_METHOD_SPECIFIED_BY, intfac))); 13.93 writer.dt(); 13.94 writer.strongText("doclet.Specified_By"); 13.95 + writer.dtEnd(); 13.96 writer.dd(); 13.97 methlink = writer.codeText(writer.getDocLink( 13.98 LinkInfoImpl.CONTEXT_MEMBER, implementedMeth, 13.99 implementedMeth.name(), false)); 13.100 writer.printText("doclet.in_interface", methlink, intfaclink); 13.101 + writer.ddEnd(); 13.102 } 13.103 13.104 }
14.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 14.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 14.3 @@ -25,11 +25,11 @@ 14.4 14.5 package com.sun.tools.doclets.formats.html; 14.6 14.7 +import java.io.*; 14.8 + 14.9 +import com.sun.javadoc.*; 14.10 import com.sun.tools.doclets.internal.toolkit.*; 14.11 import com.sun.tools.doclets.internal.toolkit.util.*; 14.12 -import com.sun.javadoc.*; 14.13 - 14.14 -import java.io.*; 14.15 14.16 /** 14.17 * Writes nested class documentation in HTML format. 14.18 @@ -129,7 +129,6 @@ 14.19 writer.println(""); 14.20 } 14.21 writer.anchor(nestedClass.name()); 14.22 - writer.dl(); 14.23 writer.h3(); 14.24 writer.print(nestedClass.name()); 14.25 writer.h3End();
15.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java Tue Feb 24 17:48:53 2009 -0800 15.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java Fri Feb 27 18:57:17 2009 -0800 15.3 @@ -25,9 +25,10 @@ 15.4 15.5 package com.sun.tools.doclets.formats.html; 15.6 15.7 +import java.io.*; 15.8 + 15.9 +import com.sun.javadoc.*; 15.10 import com.sun.tools.doclets.internal.toolkit.util.*; 15.11 -import com.sun.javadoc.*; 15.12 -import java.io.*; 15.13 15.14 /** 15.15 * Class to generate Tree page for a package. The name of the file generated is 15.16 @@ -145,8 +146,10 @@ 15.17 dl(); 15.18 dt(); 15.19 strongText("doclet.Package_Hierarchies"); 15.20 + dtEnd(); 15.21 dd(); 15.22 navLinkMainTree(configuration.getText("doclet.All_Packages")); 15.23 + ddEnd(); 15.24 dlEnd(); 15.25 hr(); 15.26 }
16.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java Tue Feb 24 17:48:53 2009 -0800 16.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java Fri Feb 27 18:57:17 2009 -0800 16.3 @@ -25,17 +25,18 @@ 16.4 16.5 package com.sun.tools.doclets.formats.html; 16.6 16.7 +import com.sun.javadoc.*; 16.8 import com.sun.tools.doclets.internal.toolkit.*; 16.9 import com.sun.tools.doclets.internal.toolkit.builders.SerializedFormBuilder; 16.10 import com.sun.tools.doclets.internal.toolkit.taglets.*; 16.11 import com.sun.tools.doclets.internal.toolkit.util.*; 16.12 -import com.sun.javadoc.*; 16.13 16.14 /** 16.15 * The taglet writer that writes HTML. 16.16 * 16.17 * @since 1.5 16.18 * @author Jamie Ho 16.19 + * @author Bhavesh Patel (Modified) 16.20 */ 16.21 16.22 public class TagletWriterImpl extends TagletWriter { 16.23 @@ -99,11 +100,12 @@ 16.24 output.append(DocletConstants.NL + "<P>" + 16.25 DocletConstants.NL); 16.26 } 16.27 + output.append("</DD>"); 16.28 } else { 16.29 if (Util.isDeprecated(member.containingClass())) { 16.30 output.append("<DD><STRONG>" + 16.31 ConfigurationImpl.getInstance(). 16.32 - getText("doclet.Deprecated") + "</STRONG> "); 16.33 + getText("doclet.Deprecated") + "</STRONG> </DD>"); 16.34 } 16.35 } 16.36 } 16.37 @@ -123,7 +125,7 @@ 16.38 public TagletOutput getParamHeader(String header) { 16.39 StringBuffer result = new StringBuffer(); 16.40 result.append("<DT>"); 16.41 - result.append("<STRONG>" + header + "</STRONG>"); 16.42 + result.append("<STRONG>" + header + "</STRONG></DT>"); 16.43 return new TagletOutputImpl(result.toString()); 16.44 } 16.45 16.46 @@ -132,7 +134,7 @@ 16.47 */ 16.48 public TagletOutput paramTagOutput(ParamTag paramTag, String paramName) { 16.49 TagletOutput result = new TagletOutputImpl("<DD><CODE>" + paramName + "</CODE>" 16.50 - + " - " + htmlWriter.commentTagsToString(paramTag, null, paramTag.inlineTags(), false)); 16.51 + + " - " + htmlWriter.commentTagsToString(paramTag, null, paramTag.inlineTags(), false) + "</DD>"); 16.52 return result; 16.53 } 16.54 16.55 @@ -142,9 +144,9 @@ 16.56 public TagletOutput returnTagOutput(Tag returnTag) { 16.57 TagletOutput result = new TagletOutputImpl(DocletConstants.NL + "<DT>" + 16.58 "<STRONG>" + htmlWriter.configuration.getText("doclet.Returns") + 16.59 - "</STRONG>" + "<DD>" + 16.60 + "</STRONG>" + "</DT>" + "<DD>" + 16.61 htmlWriter.commentTagsToString(returnTag, null, returnTag.inlineTags(), 16.62 - false)); 16.63 + false) + "</DD>"); 16.64 return result; 16.65 } 16.66 16.67 @@ -174,22 +176,21 @@ 16.68 } 16.69 if (holder.isClass() && ((ClassDoc)holder).isSerializable()) { 16.70 //Automatically add link to serialized form page for serializable classes. 16.71 - if (!(SerializedFormBuilder.serialInclude(holder) && 16.72 + if ((SerializedFormBuilder.serialInclude(holder) && 16.73 SerializedFormBuilder.serialInclude(((ClassDoc)holder).containingPackage()))) { 16.74 - return result.equals("") ? null : new TagletOutputImpl(result); 16.75 + result = addSeeHeader(result); 16.76 + result += htmlWriter.getHyperLink(htmlWriter.relativePath + "serialized-form.html", 16.77 + ((ClassDoc)holder).qualifiedName(), htmlWriter.configuration.getText("doclet.Serialized_Form"), false); 16.78 } 16.79 - result = addSeeHeader(result); 16.80 - result += htmlWriter.getHyperLink(htmlWriter.relativePath + "serialized-form.html", 16.81 - ((ClassDoc)holder).qualifiedName(), htmlWriter.configuration.getText("doclet.Serialized_Form"), false); 16.82 } 16.83 - return result.equals("") ? null : new TagletOutputImpl(result); 16.84 + return result.equals("") ? null : new TagletOutputImpl(result + "</DD>"); 16.85 } 16.86 16.87 private String addSeeHeader(String result) { 16.88 if (result != null && result.length() > 0) { 16.89 return result + ", " + DocletConstants.NL; 16.90 } else { 16.91 - return "<DT><STRONG>" + htmlWriter.configuration().getText("doclet.See_Also") + "</STRONG><DD>"; 16.92 + return "<DT><STRONG>" + htmlWriter.configuration().getText("doclet.See_Also") + "</STRONG></DT><DD>"; 16.93 } 16.94 } 16.95 16.96 @@ -205,7 +206,8 @@ 16.97 } 16.98 result += htmlWriter.commentTagsToString(simpleTags[i], null, simpleTags[i].inlineTags(), false); 16.99 } 16.100 - return new TagletOutputImpl(result + "</DD>" + DocletConstants.NL); 16.101 + result += "</DD>" + DocletConstants.NL; 16.102 + return new TagletOutputImpl(result); 16.103 } 16.104 16.105 /** 16.106 @@ -222,7 +224,7 @@ 16.107 */ 16.108 public TagletOutput getThrowsHeader() { 16.109 return new TagletOutputImpl(DocletConstants.NL + "<DT>" + "<STRONG>" + 16.110 - htmlWriter.configuration().getText("doclet.Throws") + "</STRONG>"); 16.111 + htmlWriter.configuration().getText("doclet.Throws") + "</STRONG></DT>"); 16.112 } 16.113 16.114 /** 16.115 @@ -241,6 +243,7 @@ 16.116 if (text != null && text.toString().length() > 0) { 16.117 result += " - " + text; 16.118 } 16.119 + result += "</DD>"; 16.120 return new TagletOutputImpl(result); 16.121 } 16.122 16.123 @@ -250,7 +253,7 @@ 16.124 public TagletOutput throwsTagOutput(Type throwsType) { 16.125 return new TagletOutputImpl(DocletConstants.NL + "<DD>" + 16.126 htmlWriter.codeText(htmlWriter.getLink( 16.127 - new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER, throwsType)))); 16.128 + new LinkInfoImpl(LinkInfoImpl.CONTEXT_MEMBER, throwsType))) + "</DD>"); 16.129 } 16.130 16.131 /**
17.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java Tue Feb 24 17:48:53 2009 -0800 17.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/TreeWriter.java Fri Feb 27 18:57:17 2009 -0800 17.3 @@ -25,9 +25,11 @@ 17.4 17.5 package com.sun.tools.doclets.formats.html; 17.6 17.7 +import java.io.*; 17.8 + 17.9 +import com.sun.javadoc.*; 17.10 import com.sun.tools.doclets.internal.toolkit.util.*; 17.11 -import com.sun.javadoc.*; 17.12 -import java.io.*; 17.13 + 17.14 /** 17.15 * Generate Class Hierarchy page for all the Classes in this run. Use 17.16 * ClassTree for building the Tree. The name of 17.17 @@ -120,6 +122,7 @@ 17.18 dl(); 17.19 dt(); 17.20 strongText("doclet.Package_Hierarchies"); 17.21 + dtEnd(); 17.22 dd(); 17.23 for (int i = 0; i < packages.length; i++) { 17.24 if (packages[i].name().length() == 0) { 17.25 @@ -131,6 +134,7 @@ 17.26 print(", "); 17.27 } 17.28 } 17.29 + ddEnd(); 17.30 dlEnd(); 17.31 hr(); 17.32 }
18.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Tue Feb 24 17:48:53 2009 -0800 18.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java Fri Feb 27 18:57:17 2009 -0800 18.3 @@ -245,6 +245,31 @@ 18.4 } 18.5 18.6 /** 18.7 + * Keep track of member details list. Print the definition list start tag 18.8 + * if it is not printed yet. 18.9 + */ 18.10 + public void printMemberDetailsListStartTag () { 18.11 + if (!getMemberDetailsListPrinted()) { 18.12 + dl(); 18.13 + memberDetailsListPrinted = true; 18.14 + } 18.15 + } 18.16 + 18.17 + /** 18.18 + * Print the definition list end tag if the list start tag was printed. 18.19 + */ 18.20 + public void printMemberDetailsListEndTag () { 18.21 + if (getMemberDetailsListPrinted()) { 18.22 + dlEnd(); 18.23 + memberDetailsListPrinted = false; 18.24 + } 18.25 + } 18.26 + 18.27 + public boolean getMemberDetailsListPrinted() { 18.28 + return memberDetailsListPrinted; 18.29 + } 18.30 + 18.31 + /** 18.32 * Print the frameset version of the Html file header. 18.33 * Called only when generating an HTML frameset file. 18.34 *
19.1 --- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Tue Feb 24 17:48:53 2009 -0800 19.2 +++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java Fri Feb 27 18:57:17 2009 -0800 19.3 @@ -25,9 +25,10 @@ 19.4 19.5 package com.sun.tools.doclets.formats.html.markup; 19.6 19.7 +import java.io.*; 19.8 + 19.9 import com.sun.tools.doclets.internal.toolkit.*; 19.10 import com.sun.tools.doclets.internal.toolkit.util.*; 19.11 -import java.io.*; 19.12 19.13 /** 19.14 * Class for the Html format code generation. 19.15 @@ -61,6 +62,11 @@ 19.16 protected Configuration configuration; 19.17 19.18 /** 19.19 + * The flag to indicate whether a member details list is printed or not. 19.20 + */ 19.21 + protected boolean memberDetailsListPrinted; 19.22 + 19.23 + /** 19.24 * Constructor. 19.25 * 19.26 * @param path The directory path to be created for this file 19.27 @@ -79,6 +85,7 @@ 19.28 super(Util.genWriter(configuration, path, filename, docencoding)); 19.29 this.configuration = configuration; 19.30 htmlFilename = filename; 19.31 + this.memberDetailsListPrinted = false; 19.32 } 19.33 19.34 /** 19.35 @@ -529,7 +536,14 @@ 19.36 } 19.37 19.38 /** 19.39 - * Print <DT> tag. 19.40 + * Print </DT> tag. 19.41 + */ 19.42 + public void dtEnd() { 19.43 + print("</DT>"); 19.44 + } 19.45 + 19.46 + /** 19.47 + * Print <DD> tag. 19.48 */ 19.49 public void dd() { 19.50 print("<DD>");
20.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java Tue Feb 24 17:48:53 2009 -0800 20.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java Fri Feb 27 18:57:17 2009 -0800 20.3 @@ -25,8 +25,9 @@ 20.4 20.5 package com.sun.tools.doclets.internal.toolkit; 20.6 20.7 +import java.io.*; 20.8 + 20.9 import com.sun.javadoc.*; 20.10 -import java.io.*; 20.11 20.12 /** 20.13 * The interface for writing serialized form output. 20.14 @@ -147,22 +148,27 @@ 20.15 String fieldDimensions, String fieldName); 20.16 20.17 /** 20.18 + * Write the member footer. 20.19 + */ 20.20 + public void writeMemberFooter(); 20.21 + 20.22 + /** 20.23 + * Check to see if overview details should be printed. If 20.24 + * nocomment option set or if there is no text to be printed 20.25 + * for deprecation info, inline comment or tags, 20.26 + * do not print overview details. 20.27 + * 20.28 + * @param field the field to check overview details for. 20.29 + * @return true if overview details need to be printed 20.30 + */ 20.31 + public boolean shouldPrintOverview(FieldDoc field); 20.32 + 20.33 + /** 20.34 * Write the footer. 20.35 * 20.36 - * @param member the member to write the header for. 20.37 + * @param heading the heading that was written. 20.38 */ 20.39 - public void writeMemberFooter(FieldDoc member); 20.40 - 20.41 - /** 20.42 - * Check to see if member details should be printed. If 20.43 - * nocomment option set or if there is no text to be printed 20.44 - * for deprecation info, inline comment, no serial tag or inline tags, 20.45 - * do not print member details. 20.46 - * 20.47 - * @param member the member to check details for. 20.48 - * @return true if details need to be printed 20.49 - */ 20.50 - public boolean shouldPrintMemberDetails(FieldDoc member); 20.51 + public void writeFooter (String heading); 20.52 } 20.53 20.54 /** 20.55 @@ -193,10 +199,8 @@ 20.56 20.57 /** 20.58 * Write the footer. 20.59 - * 20.60 - * @param member the member to write the header for. 20.61 */ 20.62 - public void writeMemberFooter(MethodDoc member); 20.63 + public void writeMemberFooter(); 20.64 20.65 /** 20.66 * Write the deprecated information for this member.
21.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Tue Feb 24 17:48:53 2009 -0800 21.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java Fri Feb 27 18:57:17 2009 -0800 21.3 @@ -25,13 +25,14 @@ 21.4 21.5 package com.sun.tools.doclets.internal.toolkit.builders; 21.6 21.7 -import com.sun.tools.doclets.internal.toolkit.util.*; 21.8 -import com.sun.tools.doclets.internal.toolkit.*; 21.9 -import com.sun.javadoc.*; 21.10 import java.io.*; 21.11 import java.lang.reflect.*; 21.12 import java.util.*; 21.13 21.14 +import com.sun.javadoc.*; 21.15 +import com.sun.tools.doclets.internal.toolkit.util.*; 21.16 +import com.sun.tools.doclets.internal.toolkit.*; 21.17 + 21.18 /** 21.19 * Builds the serialized form. 21.20 * 21.21 @@ -40,6 +41,7 @@ 21.22 * Do not use it as an API 21.23 * 21.24 * @author Jamie Ho 21.25 + * @author Bhavesh Patel (Modified) 21.26 * @since 1.5 21.27 */ 21.28 public class SerializedFormBuilder extends AbstractBuilder { 21.29 @@ -379,7 +381,7 @@ 21.30 * Build the method footer. 21.31 */ 21.32 public void buildMethodFooter() { 21.33 - methodWriter.writeMemberFooter((MethodDoc) currentMember); 21.34 + methodWriter.writeMemberFooter(); 21.35 } 21.36 21.37 /** 21.38 @@ -405,15 +407,18 @@ 21.39 Util.asList(classDoc.serializableFields()).get(0); 21.40 // Check to see if there are inline comments, tags or deprecation 21.41 // information to be printed. 21.42 - if (fieldWriter.shouldPrintMemberDetails(serialPersistentField)) { 21.43 + if (fieldWriter.shouldPrintOverview(serialPersistentField)) { 21.44 fieldWriter.writeHeader( 21.45 - configuration.getText("doclet.Serialized_Form_class")); 21.46 + configuration.getText("doclet.Serialized_Form_class")); 21.47 fieldWriter.writeMemberDeprecatedInfo(serialPersistentField); 21.48 if (!configuration.nocomment) { 21.49 fieldWriter.writeMemberDescription(serialPersistentField); 21.50 fieldWriter.writeMemberTags(serialPersistentField); 21.51 } 21.52 - fieldWriter.writeMemberFooter(serialPersistentField); 21.53 + // Footer required to close the definition list tag 21.54 + // for serialization overview. 21.55 + fieldWriter.writeFooter( 21.56 + configuration.getText("doclet.Serialized_Form_class")); 21.57 } 21.58 } 21.59 } 21.60 @@ -476,11 +481,11 @@ 21.61 } 21.62 21.63 /** 21.64 - * Build the field footer. 21.65 + * Build the field sub footer. 21.66 */ 21.67 - public void buildFieldFooter() { 21.68 + public void buildFieldSubFooter() { 21.69 if (! currentClass.definesSerializableFields()) { 21.70 - fieldWriter.writeMemberFooter((FieldDoc) currentMember); 21.71 + fieldWriter.writeMemberFooter(); 21.72 } 21.73 } 21.74
22.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml Tue Feb 24 17:48:53 2009 -0800 22.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclet.xml Fri Feb 27 18:57:17 2009 -0800 22.3 @@ -1,205 +1,205 @@ 22.4 -<?xml version='1.0' encoding='utf-8'?> 22.5 - 22.6 -<!-- 22.7 - Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. 22.8 - DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 22.9 - 22.10 - This code is free software; you can redistribute it and/or modify it 22.11 - under the terms of the GNU General Public License version 2 only, as 22.12 - published by the Free Software Foundation. Sun designates this 22.13 - particular file as subject to the "Classpath" exception as provided 22.14 - by Sun in the LICENSE file that accompanied this code. 22.15 - 22.16 - This code is distributed in the hope that it will be useful, but WITHOUT 22.17 - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 22.18 - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 22.19 - version 2 for more details (a copy is included in the LICENSE file that 22.20 - accompanied this code). 22.21 - 22.22 - You should have received a copy of the GNU General Public License version 22.23 - 2 along with this work; if not, write to the Free Software Foundation, 22.24 - Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 22.25 - 22.26 - Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22.27 - CA 95054 USA or visit www.sun.com if you need additional information or 22.28 - have any questions. 22.29 ---> 22.30 - 22.31 - 22.32 -<Doclet> 22.33 - 22.34 - <PackageDoc> 22.35 - <PackageHeader/> 22.36 - <Summary> 22.37 - <SummaryHeader/> 22.38 - <InterfaceSummary/> 22.39 - <ClassSummary/> 22.40 - <EnumSummary/> 22.41 - <ExceptionSummary/> 22.42 - <ErrorSummary/> 22.43 - <AnnotationTypeSummary/> 22.44 - <SummaryFooter/> 22.45 - </Summary> 22.46 - <PackageDescription/> 22.47 - <PackageTags/> 22.48 - <PackageFooter/> 22.49 - </PackageDoc> 22.50 - 22.51 - <AnnotationTypeDoc> 22.52 - <AnnotationTypeHeader/> 22.53 - <DeprecationInfo/> 22.54 - <AnnotationTypeSignature/> 22.55 - <AnnotationTypeDescription/> 22.56 - <AnnotationTypeTagInfo/> 22.57 - <MemberSummary> 22.58 - <AnnotationTypeRequiredMemberSummary/> 22.59 - <AnnotationTypeOptionalMemberSummary/> 22.60 - </MemberSummary> 22.61 - <AnnotationTypeRequiredMemberDetails> 22.62 - <Header/> 22.63 - <AnnotationTypeRequiredMember> 22.64 - <MemberHeader/> 22.65 - <Signature/> 22.66 - <DeprecationInfo/> 22.67 - <MemberComments/> 22.68 - <TagInfo/> 22.69 - <MemberFooter/> 22.70 - </AnnotationTypeRequiredMember> 22.71 - </AnnotationTypeRequiredMemberDetails> 22.72 - <AnnotationTypeOptionalMemberDetails> 22.73 - <AnnotationTypeOptionalMember> 22.74 - <MemberHeader/> 22.75 - <Signature/> 22.76 - <DeprecationInfo/> 22.77 - <MemberComments/> 22.78 - <TagInfo/> 22.79 - <DefaultValueInfo/> 22.80 - <MemberFooter/> 22.81 - </AnnotationTypeOptionalMember> 22.82 - <Footer/> 22.83 - </AnnotationTypeOptionalMemberDetails> 22.84 - <AnnotationTypeFooter/> 22.85 - </AnnotationTypeDoc> 22.86 - 22.87 - <ClassDoc> 22.88 - <ClassHeader/> 22.89 - <ClassTree/> 22.90 - <TypeParamInfo/> 22.91 - <SuperInterfacesInfo/> 22.92 - <ImplementedInterfacesInfo/> 22.93 - <SubClassInfo/> 22.94 - <SubInterfacesInfo/> 22.95 - <InterfaceUsageInfo/> 22.96 - <NestedClassInfo/> 22.97 - <DeprecationInfo/> 22.98 - <ClassSignature/> 22.99 - <ClassDescription/> 22.100 - <ClassTagInfo/> 22.101 - <MemberSummary> 22.102 - <NestedClassesSummary/> 22.103 - <NestedClassesInheritedSummary/> 22.104 - <EnumConstantsSummary/> 22.105 - <FieldsSummary/> 22.106 - <FieldsInheritedSummary/> 22.107 - <ConstructorsSummary/> 22.108 - <MethodsSummary/> 22.109 - <MethodsInheritedSummary/> 22.110 - </MemberSummary> 22.111 - <EnumConstantsDetails> 22.112 - <Header/> 22.113 - <EnumConstant> 22.114 - <EnumConstantHeader/> 22.115 - <Signature/> 22.116 - <DeprecationInfo/> 22.117 - <EnumConstantComments/> 22.118 - <TagInfo/> 22.119 - <EnumConstantFooter/> 22.120 - </EnumConstant> 22.121 - <Footer/> 22.122 - </EnumConstantsDetails> 22.123 - <FieldDetails> 22.124 - <Header/> 22.125 - <FieldDoc> 22.126 - <FieldHeader/> 22.127 - <Signature/> 22.128 - <DeprecationInfo/> 22.129 - <FieldComments/> 22.130 - <TagInfo/> 22.131 - <FieldFooter/> 22.132 - </FieldDoc> 22.133 - <Footer/> 22.134 - </FieldDetails> 22.135 - <ConstructorDetails> 22.136 - <Header/> 22.137 - <ConstructorDoc> 22.138 - <ConstructorHeader/> 22.139 - <Signature/> 22.140 - <DeprecationInfo/> 22.141 - <ConstructorComments/> 22.142 - <TagInfo/> 22.143 - <ConstructorFooter/> 22.144 - </ConstructorDoc> 22.145 - <Footer/> 22.146 - </ConstructorDetails> 22.147 - <MethodDetails> 22.148 - <Header/> 22.149 - <MethodDoc> 22.150 - <MethodHeader/> 22.151 - <Signature/> 22.152 - <DeprecationInfo/> 22.153 - <MethodComments/> 22.154 - <TagInfo/> 22.155 - <MethodFooter/> 22.156 - </MethodDoc> 22.157 - <Footer/> 22.158 - </MethodDetails> 22.159 - <ClassFooter/> 22.160 - </ClassDoc> 22.161 - 22.162 - <ConstantSummary> 22.163 - <Header/> 22.164 - <Contents/> 22.165 - <ConstantSummaries> 22.166 - <PackageConstantSummary> 22.167 - <PackageHeader/> 22.168 - <ClassConstantSummary> 22.169 - <ClassHeader/> 22.170 - <ConstantMembers/> 22.171 - <ClassFooter/> 22.172 - </ClassConstantSummary> 22.173 - </PackageConstantSummary> 22.174 - </ConstantSummaries> 22.175 - <Footer/> 22.176 - </ConstantSummary> 22.177 - 22.178 - <SerializedForm> 22.179 - <Header/> 22.180 - <SerializedFormSummaries> 22.181 - <PackageSerializedForm> 22.182 - <PackageHeader/> 22.183 - <ClassSerializedForm> 22.184 - <ClassHeader/> 22.185 - <SerialUIDInfo/> 22.186 - <MethodHeader/> 22.187 - <SerializableMethods> 22.188 - <MethodSubHeader/> 22.189 - <DeprecatedMethodInfo/> 22.190 - <MethodInfo> 22.191 - <MethodDescription/> 22.192 - <MethodTags/> 22.193 - </MethodInfo> 22.194 - <MethodFooter/> 22.195 - </SerializableMethods> 22.196 - <FieldHeader/> 22.197 - <SerializableFields> 22.198 - <FieldSubHeader/> 22.199 - <FieldDeprecationInfo/> 22.200 - <FieldInfo/> 22.201 - <FieldFooter/> 22.202 - </SerializableFields> 22.203 - </ClassSerializedForm> 22.204 - </PackageSerializedForm> 22.205 - </SerializedFormSummaries> 22.206 - <Footer/> 22.207 - </SerializedForm> 22.208 -</Doclet> 22.209 +<?xml version='1.0' encoding='utf-8'?> 22.210 + 22.211 +<!-- 22.212 + Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. 22.213 + DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 22.214 + 22.215 + This code is free software; you can redistribute it and/or modify it 22.216 + under the terms of the GNU General Public License version 2 only, as 22.217 + published by the Free Software Foundation. Sun designates this 22.218 + particular file as subject to the "Classpath" exception as provided 22.219 + by Sun in the LICENSE file that accompanied this code. 22.220 + 22.221 + This code is distributed in the hope that it will be useful, but WITHOUT 22.222 + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 22.223 + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 22.224 + version 2 for more details (a copy is included in the LICENSE file that 22.225 + accompanied this code). 22.226 + 22.227 + You should have received a copy of the GNU General Public License version 22.228 + 2 along with this work; if not, write to the Free Software Foundation, 22.229 + Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 22.230 + 22.231 + Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22.232 + CA 95054 USA or visit www.sun.com if you need additional information or 22.233 + have any questions. 22.234 +--> 22.235 + 22.236 + 22.237 +<Doclet> 22.238 + 22.239 + <PackageDoc> 22.240 + <PackageHeader/> 22.241 + <Summary> 22.242 + <SummaryHeader/> 22.243 + <InterfaceSummary/> 22.244 + <ClassSummary/> 22.245 + <EnumSummary/> 22.246 + <ExceptionSummary/> 22.247 + <ErrorSummary/> 22.248 + <AnnotationTypeSummary/> 22.249 + <SummaryFooter/> 22.250 + </Summary> 22.251 + <PackageDescription/> 22.252 + <PackageTags/> 22.253 + <PackageFooter/> 22.254 + </PackageDoc> 22.255 + 22.256 + <AnnotationTypeDoc> 22.257 + <AnnotationTypeHeader/> 22.258 + <DeprecationInfo/> 22.259 + <AnnotationTypeSignature/> 22.260 + <AnnotationTypeDescription/> 22.261 + <AnnotationTypeTagInfo/> 22.262 + <MemberSummary> 22.263 + <AnnotationTypeRequiredMemberSummary/> 22.264 + <AnnotationTypeOptionalMemberSummary/> 22.265 + </MemberSummary> 22.266 + <AnnotationTypeRequiredMemberDetails> 22.267 + <Header/> 22.268 + <AnnotationTypeRequiredMember> 22.269 + <MemberHeader/> 22.270 + <Signature/> 22.271 + <DeprecationInfo/> 22.272 + <MemberComments/> 22.273 + <TagInfo/> 22.274 + <MemberFooter/> 22.275 + </AnnotationTypeRequiredMember> 22.276 + </AnnotationTypeRequiredMemberDetails> 22.277 + <AnnotationTypeOptionalMemberDetails> 22.278 + <AnnotationTypeOptionalMember> 22.279 + <MemberHeader/> 22.280 + <Signature/> 22.281 + <DeprecationInfo/> 22.282 + <MemberComments/> 22.283 + <TagInfo/> 22.284 + <DefaultValueInfo/> 22.285 + <MemberFooter/> 22.286 + </AnnotationTypeOptionalMember> 22.287 + <Footer/> 22.288 + </AnnotationTypeOptionalMemberDetails> 22.289 + <AnnotationTypeFooter/> 22.290 + </AnnotationTypeDoc> 22.291 + 22.292 + <ClassDoc> 22.293 + <ClassHeader/> 22.294 + <ClassTree/> 22.295 + <TypeParamInfo/> 22.296 + <SuperInterfacesInfo/> 22.297 + <ImplementedInterfacesInfo/> 22.298 + <SubClassInfo/> 22.299 + <SubInterfacesInfo/> 22.300 + <InterfaceUsageInfo/> 22.301 + <NestedClassInfo/> 22.302 + <DeprecationInfo/> 22.303 + <ClassSignature/> 22.304 + <ClassDescription/> 22.305 + <ClassTagInfo/> 22.306 + <MemberSummary> 22.307 + <NestedClassesSummary/> 22.308 + <NestedClassesInheritedSummary/> 22.309 + <EnumConstantsSummary/> 22.310 + <FieldsSummary/> 22.311 + <FieldsInheritedSummary/> 22.312 + <ConstructorsSummary/> 22.313 + <MethodsSummary/> 22.314 + <MethodsInheritedSummary/> 22.315 + </MemberSummary> 22.316 + <EnumConstantsDetails> 22.317 + <Header/> 22.318 + <EnumConstant> 22.319 + <EnumConstantHeader/> 22.320 + <Signature/> 22.321 + <DeprecationInfo/> 22.322 + <EnumConstantComments/> 22.323 + <TagInfo/> 22.324 + <EnumConstantFooter/> 22.325 + </EnumConstant> 22.326 + <Footer/> 22.327 + </EnumConstantsDetails> 22.328 + <FieldDetails> 22.329 + <Header/> 22.330 + <FieldDoc> 22.331 + <FieldHeader/> 22.332 + <Signature/> 22.333 + <DeprecationInfo/> 22.334 + <FieldComments/> 22.335 + <TagInfo/> 22.336 + <FieldFooter/> 22.337 + </FieldDoc> 22.338 + <Footer/> 22.339 + </FieldDetails> 22.340 + <ConstructorDetails> 22.341 + <Header/> 22.342 + <ConstructorDoc> 22.343 + <ConstructorHeader/> 22.344 + <Signature/> 22.345 + <DeprecationInfo/> 22.346 + <ConstructorComments/> 22.347 + <TagInfo/> 22.348 + <ConstructorFooter/> 22.349 + </ConstructorDoc> 22.350 + <Footer/> 22.351 + </ConstructorDetails> 22.352 + <MethodDetails> 22.353 + <Header/> 22.354 + <MethodDoc> 22.355 + <MethodHeader/> 22.356 + <Signature/> 22.357 + <DeprecationInfo/> 22.358 + <MethodComments/> 22.359 + <TagInfo/> 22.360 + <MethodFooter/> 22.361 + </MethodDoc> 22.362 + <Footer/> 22.363 + </MethodDetails> 22.364 + <ClassFooter/> 22.365 + </ClassDoc> 22.366 + 22.367 + <ConstantSummary> 22.368 + <Header/> 22.369 + <Contents/> 22.370 + <ConstantSummaries> 22.371 + <PackageConstantSummary> 22.372 + <PackageHeader/> 22.373 + <ClassConstantSummary> 22.374 + <ClassHeader/> 22.375 + <ConstantMembers/> 22.376 + <ClassFooter/> 22.377 + </ClassConstantSummary> 22.378 + </PackageConstantSummary> 22.379 + </ConstantSummaries> 22.380 + <Footer/> 22.381 + </ConstantSummary> 22.382 + 22.383 + <SerializedForm> 22.384 + <Header/> 22.385 + <SerializedFormSummaries> 22.386 + <PackageSerializedForm> 22.387 + <PackageHeader/> 22.388 + <ClassSerializedForm> 22.389 + <ClassHeader/> 22.390 + <SerialUIDInfo/> 22.391 + <MethodHeader/> 22.392 + <SerializableMethods> 22.393 + <MethodSubHeader/> 22.394 + <DeprecatedMethodInfo/> 22.395 + <MethodInfo> 22.396 + <MethodDescription/> 22.397 + <MethodTags/> 22.398 + </MethodInfo> 22.399 + <MethodFooter/> 22.400 + </SerializableMethods> 22.401 + <FieldHeader/> 22.402 + <SerializableFields> 22.403 + <FieldSubHeader/> 22.404 + <FieldDeprecationInfo/> 22.405 + <FieldInfo/> 22.406 + <FieldSubFooter/> 22.407 + </SerializableFields> 22.408 + </ClassSerializedForm> 22.409 + </PackageSerializedForm> 22.410 + </SerializedFormSummaries> 22.411 + <Footer/> 22.412 + </SerializedForm> 22.413 +</Doclet>
23.1 --- a/test/com/sun/javadoc/AuthorDD/AuthorDD.java Tue Feb 24 17:48:53 2009 -0800 23.2 +++ b/test/com/sun/javadoc/AuthorDD/AuthorDD.java Fri Feb 27 18:57:17 2009 -0800 23.3 @@ -91,7 +91,7 @@ 23.4 23.5 // Test multiple @author tags: 23.6 23.7 - { "<DT><STRONG>Author:</STRONG></DT>"+NL+" <DD>Doug Kramer, Jamie, Neal</DD>"+NL, 23.8 + { "<DT><STRONG>Author:</STRONG></DT>"+NL+" <DD>Doug Kramer, Jamie, Neal</DD>", 23.9 BUGID + FS + "p1" + FS + "C1.html" }, 23.10 23.11 };
24.1 --- a/test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java Tue Feb 24 17:48:53 2009 -0800 24.2 +++ b/test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java Fri Feb 27 18:57:17 2009 -0800 24.3 @@ -48,7 +48,7 @@ 24.4 "<A HREF=\"http://java.sun.com/j2se/1.4/docs/api/java/math/BigInteger.html?is-external=true#gcd(java.math.BigInteger)\" " + 24.5 "title=\"class or interface in java.math\"><CODE>Link to external member gcd</CODE></A>"}, 24.6 {BUG_ID + FS + "C.html", 24.7 - "<STRONG>Overrides:</STRONG><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE>"} 24.8 + "<STRONG>Overrides:</STRONG></DT><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE>"} 24.9 }; 24.10 private static final String[][] NEGATED_TEST = NO_TEST; 24.11 private static final String[] ARGS =
25.1 --- a/test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java Tue Feb 24 17:48:53 2009 -0800 25.2 +++ b/test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java Fri Feb 27 18:57:17 2009 -0800 25.3 @@ -45,9 +45,10 @@ 25.4 25.5 //Input for string search tests. 25.6 private static final String[][] TEST = { 25.7 - {BUG_ID + FS + "C.html", "<DL>"+NL+"<DD>This is just a simple constructor."+ NL + 25.8 - "<P>"+NL+"<DL>"+NL+"<DT><STRONG>Parameters:</STRONG><DD><CODE>i</CODE> - a param.</DL>"+NL + 25.9 - "</DL>" 25.10 + {BUG_ID + FS + "C.html", "<DL>" + NL + "<DD>This is just a simple constructor." + NL + 25.11 + "<P>" + NL + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG>" + 25.12 + "</DT><DD><CODE>i</CODE> - a param.</DD></DL>" + NL + 25.13 + "</DD>" + NL + "</DL>" 25.14 } 25.15 }; 25.16 private static final String[][] NEGATED_TEST = NO_TEST;
26.1 --- a/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java Tue Feb 24 17:48:53 2009 -0800 26.2 +++ b/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java Fri Feb 27 18:57:17 2009 -0800 26.3 @@ -78,13 +78,12 @@ 26.4 26.5 {TARGET_FILE2, "<STRONG>Deprecated.</STRONG>" + NL + 26.6 "<P>" + NL + 26.7 - "<DL>" + NL + 26.8 - "<DT><PRE><FONT SIZE=\"-1\">@Deprecated" + NL + 26.9 + "<PRE><FONT SIZE=\"-1\">@Deprecated" + NL + 26.10 "</FONT>public class <STRONG>DeprecatedClassByAnnotation</STRONG>"}, 26.11 26.12 {TARGET_FILE2, "public int <STRONG>field</STRONG></PRE>" + NL + 26.13 "<DL>" + NL + 26.14 - "<DD><STRONG>Deprecated.</STRONG> <DL>"}, 26.15 + "<DD><STRONG>Deprecated.</STRONG> </DD></DL>"}, 26.16 26.17 {TARGET_FILE2, "<FONT SIZE=\"-1\">@Deprecated" + NL + 26.18 "</FONT>public <STRONG>DeprecatedClassByAnnotation</STRONG>()</PRE>" + NL +
27.1 --- a/test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java Tue Feb 24 17:48:53 2009 -0800 27.2 +++ b/test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java Fri Feb 27 18:57:17 2009 -0800 27.3 @@ -39,13 +39,13 @@ 27.4 private static final String BUG_ID = "4857717"; 27.5 private static final String[][] TEST = { 27.6 {BUG_ID + FS + "pkg" + FS + "XReader.html", 27.7 - "<STRONG>Overrides:</STRONG><DD><CODE><A HREF=\"" + 27.8 + "<STRONG>Overrides:</STRONG></DT><DD><CODE><A HREF=\"" + 27.9 "http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true#read()\"" + 27.10 " title=\"class or interface in java.io\">read</A></CODE> in class " + 27.11 "<CODE><A HREF=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true\"" + 27.12 " title=\"class or interface in java.io\">FilterReader</A>"}, 27.13 {BUG_ID + FS + "pkg" + FS + "XReader.html", 27.14 - "<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"" + 27.15 + "<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"" + 27.16 "http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true#readInt()\"" + 27.17 " title=\"class or interface in java.io\">readInt</A></CODE> in interface " + 27.18 "<CODE><A HREF=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true\"" +
28.1 --- a/test/com/sun/javadoc/testHref/TestHref.java Tue Feb 24 17:48:53 2009 -0800 28.2 +++ b/test/com/sun/javadoc/testHref/TestHref.java Fri Feb 27 18:57:17 2009 -0800 28.3 @@ -67,7 +67,7 @@ 28.4 }, 28.5 //@see test. 28.6 {BUG_ID + FS + "pkg" + FS + "C2.html", 28.7 - "See Also:</STRONG><DD><A HREF=\"../pkg/C1.html#method(int, int, java.util.ArrayList)\">" 28.8 + "See Also:</STRONG></DT><DD><A HREF=\"../pkg/C1.html#method(int, int, java.util.ArrayList)\">" 28.9 }, 28.10 28.11 //Header does not link to the page itself.
29.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 29.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java Fri Feb 27 18:57:17 2009 -0800 29.3 @@ -0,0 +1,370 @@ 29.4 +/* 29.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. 29.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 29.7 + * 29.8 + * This code is free software; you can redistribute it and/or modify it 29.9 + * under the terms of the GNU General Public License version 2 only, as 29.10 + * published by the Free Software Foundation. Sun designates this 29.11 + * particular file as subject to the "Classpath" exception as provided 29.12 + * by Sun in the LICENSE file that accompanied this code. 29.13 + * 29.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 29.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 29.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 29.17 + * version 2 for more details (a copy is included in the LICENSE file that 29.18 + * accompanied this code). 29.19 + * 29.20 + * You should have received a copy of the GNU General Public License version 29.21 + * 2 along with this work; if not, write to the Free Software Foundation, 29.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 29.23 + * 29.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 29.25 + * CA 95054 USA or visit www.sun.com if you need additional information or 29.26 + * have any questions. 29.27 + */ 29.28 + 29.29 +/* 29.30 + * @test 29.31 + * @bug 6786690 29.32 + * @summary This test verifies the nesting of definition list tags. 29.33 + * @author Bhavesh Patel 29.34 + * @library ../lib/ 29.35 + * @build JavadocTester 29.36 + * @build TestHtmlDefinitionListTag 29.37 + * @run main TestHtmlDefinitionListTag 29.38 + */ 29.39 + 29.40 +public class TestHtmlDefinitionListTag extends JavadocTester { 29.41 + 29.42 + private static final String BUG_ID = "6786690"; 29.43 + 29.44 + // Test common to all runs of javadoc. The class signature should print 29.45 + // properly enclosed definition list tags and the Annotation Type 29.46 + // Optional Element should print properly nested definition list tags 29.47 + // for default value. 29.48 + private static final String[][] TEST_ALL = { 29.49 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<PRE>public class " + 29.50 + "<STRONG>C1</STRONG>" + NL + "extends " + 29.51 + "java.lang.Object" + NL + "implements " + 29.52 + "java.io.Serializable</PRE>"}, 29.53 + {BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL>" + NL + "<DD><DL>" + NL + 29.54 + "<DT><STRONG>Default:</STRONG></DT><DD>true</DD>" + NL + 29.55 + "</DL>" + NL + "</DD>" + NL + "</DL>"}}; 29.56 + 29.57 + // Test for normal run of javadoc in which various ClassDocs and 29.58 + // serialized form should have properly nested definition list tags 29.59 + // enclosing comments, tags and deprecated information. 29.60 + private static final String[][] TEST_CMNT_DEPR = { 29.61 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + 29.62 + "<DT><STRONG>Since:</STRONG></DT>" + NL + 29.63 + " <DD>JDK1.0</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT><DD>" + 29.64 + "<A HREF=\"../pkg1/C2.html\" title=\"class in pkg1\">" + 29.65 + "<CODE>C2</CODE></A>, " + NL + 29.66 + "<A HREF=\"../serialized-form.html#pkg1.C1\">" + 29.67 + "Serialized Form</A></DD></DL>"}, 29.68 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + 29.69 + "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version" + 29.70 + " 1.5, replaced by" + NL + 29.71 + " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" + 29.72 + "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" + 29.73 + "<DD>This field indicates whether the C1 is undecorated." + NL + 29.74 + "<P>" + NL + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>" + 29.75 + "Since:</STRONG></DT>" + NL + " <DD>1.4</DD>" + NL + "<DT>" + 29.76 + "<STRONG>See Also:</STRONG></DT><DD>" + 29.77 + "<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\"><CODE>" + 29.78 + "setUndecorated(boolean)</CODE></A></DD></DL>" + NL +"</DD>" + NL + 29.79 + "</DL>"}, 29.80 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + 29.81 + "<DD>Constructor." + NL + "<P>" + NL + "</DD>" + NL + 29.82 + "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" + 29.83 + "<CODE>title</CODE> - the title</DD><DD><CODE>test</CODE>" + 29.84 + " - boolean value</DD>" + NL + "<DT><STRONG>Throws:</STRONG></DT>" + NL + 29.85 + "<DD><CODE>java.lang.IllegalArgumentException</CODE>" + 29.86 + " - if the <code>owner</code>'s" + NL + " <code>GraphicsConfiguration" + 29.87 + "</code> is not from a screen device</DD>" + NL +"<DD><CODE>" + 29.88 + "HeadlessException</CODE></DD></DL>" + NL + "</DD>" + NL + 29.89 + "</DL>"}, 29.90 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + 29.91 + "<DD>Method comments." + NL + "<P>" + NL + 29.92 + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:" + 29.93 + "</STRONG></DT><DD><CODE>undecorated</CODE> - <code>true</code>" + 29.94 + " if no decorations are" + NL + " to be enabled;" + NL + 29.95 + " <code>false</code> if decorations are to be enabled." + 29.96 + "</DD><DT><STRONG>Since:</STRONG></DT>" + NL + 29.97 + " <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT>" + 29.98 + "<DD><A HREF=\"../pkg1/C1.html#readObject()\"><CODE>" + 29.99 + "readObject()</CODE></A></DD></DL>" + NL + "</DD>" + NL + 29.100 + "</DL>"}, 29.101 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><DL>" + NL + 29.102 + "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" + 29.103 + "java.io.IOException</CODE></DD><DT><STRONG>See Also:" + 29.104 + "</STRONG></DT><DD>" + 29.105 + "<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" + 29.106 + "<CODE>setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 29.107 + "</DD>" + NL + "</DL>"}, 29.108 + {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL + 29.109 + "<DD>No modal exclusion." + NL + "<P>" + NL +"</DD>" + NL + 29.110 + "</DL>"}, 29.111 + {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD>Constructor." + NL + 29.112 + "<P>" + NL +"</DD>" + NL + "</DL>"}, 29.113 + {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD><STRONG>" + 29.114 + "Deprecated.</STRONG> <I>As of JDK version 1.5, replaced " + 29.115 + "by" + NL + " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" + 29.116 + "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 29.117 + "</DD><DD>Set visible." + NL + "<P>" + NL + "</DD>" +NL + 29.118 + "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" + 29.119 + "<CODE>set</CODE> - boolean</DD><DT><STRONG>Since:</STRONG></DT>" + NL + 29.120 + " <DD>1.4</DD></DL>" + NL + "</DD>" + NL + "</DL>"}, 29.121 + {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "<DD>Comment." + NL + 29.122 + "<P>" + NL + "</DD>" + NL + "</DL>"}, 29.123 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL + 29.124 + "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" + 29.125 + "java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" + 29.126 + "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.127 + "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 29.128 + "</DD>" + NL + "</DL>"}, 29.129 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 29.130 + "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version " + 29.131 + "1.5, replaced by" + NL + 29.132 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.133 + "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" + 29.134 + "<DD>This field indicates whether the C1 is undecorated." + NL + 29.135 + "<P>" + NL + "</DD>" + NL + "<DD> </DD>" + NL + 29.136 + "<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL + 29.137 + " <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" + 29.138 + "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.139 + "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 29.140 + "</DD>" + NL + "</DL>"}, 29.141 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 29.142 + "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version" + 29.143 + " 1.5, replaced by" + NL + 29.144 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.145 + "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 29.146 + "</DD><DD>Reads the object stream." + NL + "<P>" + NL + 29.147 + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" + 29.148 + "</STRONG></DT>" + NL + "<DD><CODE><code>" + 29.149 + "IOException</code></CODE></DD>" + NL + 29.150 + "<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL + 29.151 + "</DD>" + NL + "</DL>"}, 29.152 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 29.153 + "<DD><STRONG>Deprecated.</STRONG> </DD><DD>" + 29.154 + "The name for this class." + NL + "<P>" + NL + "</DD>" + NL + 29.155 + "<DD> </DD>" + NL + "</DL>"}}; 29.156 + 29.157 + // Test with -nocomment option. The ClassDocs and serialized form should 29.158 + // have properly nested definition list tags enclosing deprecated 29.159 + // information and should not display definition lists for comments 29.160 + // and tags. 29.161 + private static final String[][] TEST_NOCMNT = { 29.162 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><STRONG>" + 29.163 + "Deprecated.</STRONG> <I>As of JDK version 1.5, replaced by" + NL + 29.164 + " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\"><CODE>" + 29.165 + "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"}, 29.166 + {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + 29.167 + "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version" + 29.168 + " 1.5, replaced by" + NL + 29.169 + " <A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" + 29.170 + "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 29.171 + "</DD></DL>"}, 29.172 + {BUG_ID + FS + "pkg1" + FS + "C5.html", "<PRE>" + NL + 29.173 + "protected <STRONG>C5</STRONG>()</PRE>" + NL + "<DL>" + NL + 29.174 + "<DD><STRONG>Deprecated.</STRONG> </DD></DL>"}, 29.175 + {BUG_ID + FS + "pkg1" + FS + "C5.html", "<PRE>" + NL + 29.176 + "public void <STRONG>printInfo</STRONG>()</PRE>" + NL + "<DL>" + NL + 29.177 + "<DD><STRONG>Deprecated.</STRONG> </DD></DL>"}, 29.178 + {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "boolean <STRONG>" + 29.179 + "undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" + 29.180 + "Deprecated.</STRONG> <I>As of JDK version 1.5, replaced by" + NL + 29.181 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" + 29.182 + "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"}, 29.183 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" + 29.184 + "Deprecated.</STRONG> <I>As of JDK version" + 29.185 + " 1.5, replaced by" + NL + 29.186 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.187 + "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 29.188 + "</DD></DL>"}, 29.189 + {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" + 29.190 + "publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" + 29.191 + "Deprecated.</STRONG> </DD></DL>"}}; 29.192 + 29.193 + // Test with -nodeprecated option. The ClassDocs should have properly nested 29.194 + // definition list tags enclosing comments and tags. The ClassDocs should not 29.195 + // display definition list for deprecated information. The serialized form 29.196 + // should display properly nested definition list tags for comments, tags 29.197 + // and deprecated information. 29.198 + private static final String[][] TEST_NODEPR = { 29.199 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + 29.200 + "<DT><STRONG>Since:</STRONG></DT>" + NL + 29.201 + " <DD>JDK1.0</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT><DD>" + 29.202 + "<A HREF=\"../pkg1/C2.html\" title=\"class in pkg1\">" + 29.203 + "<CODE>C2</CODE></A>, " + NL + 29.204 + "<A HREF=\"../serialized-form.html#pkg1.C1\">" + 29.205 + "Serialized Form</A></DD></DL>"}, 29.206 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + 29.207 + "<DD>Constructor." + NL + "<P>" + NL + "</DD>" + NL + 29.208 + "<DD><DL>" + NL + "<DT><STRONG>Parameters:</STRONG></DT><DD>" + 29.209 + "<CODE>title</CODE> - the title</DD><DD><CODE>test</CODE>" + 29.210 + " - boolean value</DD>" + NL + "<DT><STRONG>Throws:</STRONG></DT>" + NL + 29.211 + "<DD><CODE>java.lang.IllegalArgumentException</CODE>" + 29.212 + " - if the <code>owner</code>'s" + NL + " <code>GraphicsConfiguration" + 29.213 + "</code> is not from a screen device</DD>" + NL +"<DD><CODE>" + 29.214 + "HeadlessException</CODE></DD></DL>" + NL + "</DD>" + NL + 29.215 + "</DL>"}, 29.216 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + 29.217 + "<DD>Method comments." + NL + "<P>" + NL + 29.218 + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Parameters:" + 29.219 + "</STRONG></DT><DD><CODE>undecorated</CODE> - <code>true</code>" + 29.220 + " if no decorations are" + NL + " to be enabled;" + NL + 29.221 + " <code>false</code> if decorations are to be enabled." + 29.222 + "</DD><DT><STRONG>Since:</STRONG></DT>" + NL + 29.223 + " <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG></DT>" + 29.224 + "<DD><A HREF=\"../pkg1/C1.html#readObject()\"><CODE>" + 29.225 + "readObject()</CODE></A></DD></DL>" + NL + "</DD>" + NL + 29.226 + "</DL>"}, 29.227 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "<DD><DL>" + NL + 29.228 + "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" + 29.229 + "java.io.IOException</CODE></DD><DT><STRONG>See Also:" + 29.230 + "</STRONG></DT><DD>" + 29.231 + "<A HREF=\"../pkg1/C1.html#setUndecorated(boolean)\">" + 29.232 + "<CODE>setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 29.233 + "</DD>" + NL + "</DL>"}, 29.234 + {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL + 29.235 + "<DD>No modal exclusion." + NL + "<P>" + NL +"</DD>" + NL + 29.236 + "</DL>"}, 29.237 + {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "<DD>Constructor." + NL + 29.238 + "<P>" + NL +"</DD>" + NL + "</DL>"}, 29.239 + {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "<DD>Comment." + NL + 29.240 + "<P>" + NL + "</DD>" + NL + "</DL>"}, 29.241 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL + 29.242 + "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" + 29.243 + "java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" + 29.244 + "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.245 + "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 29.246 + "</DD>" + NL + "</DL>"}, 29.247 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 29.248 + "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version " + 29.249 + "1.5, replaced by" + NL + 29.250 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.251 + "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" + 29.252 + "<DD>This field indicates whether the C1 is undecorated." + NL + 29.253 + "<P>" + NL + "</DD>" + NL + "<DD> </DD>" + NL + 29.254 + "<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL + 29.255 + " <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" + 29.256 + "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.257 + "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 29.258 + "</DD>" + NL + "</DL>"}, 29.259 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 29.260 + "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version" + 29.261 + " 1.5, replaced by" + NL + 29.262 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.263 + "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 29.264 + "</DD><DD>Reads the object stream." + NL + "<P>" + NL + 29.265 + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" + 29.266 + "</STRONG></DT>" + NL + "<DD><CODE><code>" + 29.267 + "IOException</code></CODE></DD>" + NL + 29.268 + "<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL + 29.269 + "</DD>" + NL + "</DL>"}, 29.270 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 29.271 + "<DD><STRONG>Deprecated.</STRONG> </DD><DD>" + 29.272 + "The name for this class." + NL + "<P>" + NL + "</DD>" + NL + 29.273 + "<DD> </DD>" + NL + "</DL>"}}; 29.274 + 29.275 + // Test with -nocomment and -nodeprecated options. The ClassDocs whould 29.276 + // not display definition lists for any member details. The serialized 29.277 + // form should display properly nested definition list tags for 29.278 + // deprecated information only. 29.279 + private static final String[][] TEST_NOCMNT_NODEPR = { 29.280 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<PRE>" + NL + "public void " + 29.281 + "<STRONG>readObject</STRONG>()" + NL + " throws" + 29.282 + " java.io.IOException</PRE>" + NL + "<HR>"}, 29.283 + {BUG_ID + FS + "pkg1" + FS + "C2.html", "<PRE>" +NL + "public <STRONG>" + 29.284 + "C2</STRONG>()</PRE>" + NL + "<HR>"}, 29.285 + {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<PRE>" + NL + 29.286 + "public static final " + 29.287 + "<A HREF=\"../pkg1/C1.ModalExclusionType.html\" " + 29.288 + "title=\"enum in pkg1\">C1.ModalExclusionType</A> <STRONG>" + 29.289 + "APPLICATION_EXCLUDE</STRONG></PRE>" + NL + "<HR>"}, 29.290 + {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "boolean <STRONG>" + 29.291 + "undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" + 29.292 + "Deprecated.</STRONG> <I>As of JDK version 1.5, replaced by" + NL + 29.293 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" + 29.294 + "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"}, 29.295 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" + 29.296 + "Deprecated.</STRONG> <I>As of JDK version" + 29.297 + " 1.5, replaced by" + NL + 29.298 + " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 29.299 + "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 29.300 + "</DD></DL>"}, 29.301 + {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" + 29.302 + "publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" + 29.303 + "Deprecated.</STRONG> </DD></DL>"}}; 29.304 + 29.305 + // Test for valid HTML generation which should not comprise of empty 29.306 + // definition list tags. 29.307 + private static final String[][] NEGATED_TEST = { 29.308 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL></DL>"}, 29.309 + {BUG_ID + FS + "pkg1" + FS + "C1.html", "<DL>" + NL + "</DL>"}, 29.310 + {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL></DL>"}, 29.311 + {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "<DL>" + NL + "</DL>"}, 29.312 + {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL></DL>"}, 29.313 + {BUG_ID + FS + "pkg1" + FS + "C2.html", "<DL>" + NL + "</DL>"}, 29.314 + {BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "<DL></DL>"}, 29.315 + {BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "<DL>" + NL + "</DL>"}, 29.316 + {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL></DL>"}, 29.317 + {BUG_ID + FS + "pkg1" + FS + "C3.html", "<DL>" + NL + "</DL>"}, 29.318 + {BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL></DL>"}, 29.319 + {BUG_ID + FS + "pkg1" + FS + "C4.html", "<DL>" + NL + "</DL>"}, 29.320 + {BUG_ID + FS + "pkg1" + FS + "C5.html", "<DL></DL>"}, 29.321 + {BUG_ID + FS + "pkg1" + FS + "C5.html", "<DL>" + NL + "</DL>"}, 29.322 + {BUG_ID + FS + "overview-tree.html", "<DL></DL>"}, 29.323 + {BUG_ID + FS + "overview-tree.html", "<DL>" + NL + "</DL>"}, 29.324 + {BUG_ID + FS + "serialized-form.html", "<DL></DL>"}, 29.325 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "</DL>"}}; 29.326 + 29.327 + private static final String[] ARGS1 = 29.328 + new String[] { 29.329 + "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"}; 29.330 + 29.331 + private static final String[] ARGS2 = 29.332 + new String[] { 29.333 + "-d", BUG_ID, "-nocomment", "-sourcepath", SRC_DIR, "pkg1"}; 29.334 + 29.335 + private static final String[] ARGS3 = 29.336 + new String[] { 29.337 + "-d", BUG_ID, "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"}; 29.338 + 29.339 + private static final String[] ARGS4 = 29.340 + new String[] { 29.341 + "-d", BUG_ID, "-nocomment", "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"}; 29.342 + 29.343 + /** 29.344 + * The entry point of the test. 29.345 + * @param args the array of command line arguments. 29.346 + */ 29.347 + public static void main(String[] args) { 29.348 + TestHtmlDefinitionListTag tester = new TestHtmlDefinitionListTag(); 29.349 + run(tester, ARGS1, TEST_ALL, NEGATED_TEST); 29.350 + run(tester, ARGS1, TEST_CMNT_DEPR, NEGATED_TEST); 29.351 + run(tester, ARGS2, TEST_ALL, NEGATED_TEST); 29.352 + run(tester, ARGS2, TEST_NOCMNT, TEST_CMNT_DEPR); 29.353 + run(tester, ARGS3, TEST_ALL, NEGATED_TEST); 29.354 + run(tester, ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR); 29.355 + run(tester, ARGS4, TEST_ALL, NEGATED_TEST); 29.356 + run(tester, ARGS4, TEST_NOCMNT_NODEPR, TEST_CMNT_DEPR); 29.357 + tester.printSummary(); 29.358 + } 29.359 + 29.360 + /** 29.361 + * {@inheritDoc} 29.362 + */ 29.363 + public String getBugId() { 29.364 + return BUG_ID; 29.365 + } 29.366 + 29.367 + /** 29.368 + * {@inheritDoc} 29.369 + */ 29.370 + public String getBugName() { 29.371 + return getClass().getName(); 29.372 + } 29.373 +}
30.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 30.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C1.java Fri Feb 27 18:57:17 2009 -0800 30.3 @@ -0,0 +1,108 @@ 30.4 +/* 30.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. 30.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 30.7 + * 30.8 + * This code is free software; you can redistribute it and/or modify it 30.9 + * under the terms of the GNU General Public License version 2 only, as 30.10 + * published by the Free Software Foundation. Sun designates this 30.11 + * particular file as subject to the "Classpath" exception as provided 30.12 + * by Sun in the LICENSE file that accompanied this code. 30.13 + * 30.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 30.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 30.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 30.17 + * version 2 for more details (a copy is included in the LICENSE file that 30.18 + * accompanied this code). 30.19 + * 30.20 + * You should have received a copy of the GNU General Public License version 30.21 + * 2 along with this work; if not, write to the Free Software Foundation, 30.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 30.23 + * 30.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 30.25 + * CA 95054 USA or visit www.sun.com if you need additional information or 30.26 + * have any questions. 30.27 + */ 30.28 + 30.29 +package pkg1; 30.30 + 30.31 +import java.io.IOException; 30.32 +import java.io.Serializable; 30.33 + 30.34 +/** 30.35 + * A class comment for testing. 30.36 + * 30.37 + * @author Bhavesh Patel 30.38 + * @see C2 30.39 + * @since JDK1.0 30.40 + */ 30.41 + 30.42 +public class C1 implements Serializable { 30.43 + 30.44 + /** 30.45 + * This field indicates whether the C1 is undecorated. 30.46 + * 30.47 + * @see #setUndecorated(boolean) 30.48 + * @since 1.4 30.49 + * @serial 30.50 + * @deprecated As of JDK version 1.5, replaced by 30.51 + * {@link C1#setUndecorated(boolean) setUndecorated(boolean)}. 30.52 + */ 30.53 + @Deprecated 30.54 + public boolean undecorated = false; 30.55 + 30.56 + private String title; 30.57 + 30.58 + /** 30.59 + * This enum specifies the possible modal exclusion types. 30.60 + * 30.61 + * @since 1.6 30.62 + */ 30.63 + public static enum ModalExclusionType { 30.64 + /** 30.65 + * No modal exclusion. 30.66 + */ 30.67 + NO_EXCLUDE, 30.68 + /** 30.69 + * <code>APPLICATION_EXCLUDE</code> indicates that a top-level window 30.70 + * won't be blocked by any application-modal dialogs. Also, it isn't 30.71 + * blocked by document-modal dialogs from outside of its child hierarchy. 30.72 + */ 30.73 + APPLICATION_EXCLUDE 30.74 + }; 30.75 + 30.76 + /** 30.77 + * Constructor. 30.78 + * 30.79 + * @param title the title 30.80 + * @param test boolean value 30.81 + * @exception IllegalArgumentException if the <code>owner</code>'s 30.82 + * <code>GraphicsConfiguration</code> is not from a screen device 30.83 + * @exception HeadlessException 30.84 + */ 30.85 + public C1(String title, boolean test) { 30.86 + 30.87 + } 30.88 + 30.89 + public C1(String title) { 30.90 + 30.91 + } 30.92 + 30.93 + /** 30.94 + * Method comments. 30.95 + * @param undecorated <code>true</code> if no decorations are 30.96 + * to be enabled; 30.97 + * <code>false</code> if decorations are to be enabled. 30.98 + * @see #readObject() 30.99 + * @since 1.4 30.100 + */ 30.101 + public void setUndecorated(boolean undecorated) { 30.102 + /* Make sure we don't run in the middle of peer creation.*/ 30.103 + } 30.104 + 30.105 + /** 30.106 + * @see #setUndecorated(boolean) 30.107 + */ 30.108 + public void readObject() throws IOException { 30.109 + 30.110 + } 30.111 +}
31.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 31.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C2.java Fri Feb 27 18:57:17 2009 -0800 31.3 @@ -0,0 +1,86 @@ 31.4 +/* 31.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. 31.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 31.7 + * 31.8 + * This code is free software; you can redistribute it and/or modify it 31.9 + * under the terms of the GNU General Public License version 2 only, as 31.10 + * published by the Free Software Foundation. Sun designates this 31.11 + * particular file as subject to the "Classpath" exception as provided 31.12 + * by Sun in the LICENSE file that accompanied this code. 31.13 + * 31.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 31.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 31.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 31.17 + * version 2 for more details (a copy is included in the LICENSE file that 31.18 + * accompanied this code). 31.19 + * 31.20 + * You should have received a copy of the GNU General Public License version 31.21 + * 2 along with this work; if not, write to the Free Software Foundation, 31.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 31.23 + * 31.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 31.25 + * CA 95054 USA or visit www.sun.com if you need additional information or 31.26 + * have any questions. 31.27 + */ 31.28 + 31.29 +package pkg1; 31.30 + 31.31 +import java.io.ObjectInputStream; 31.32 +import java.io.IOException; 31.33 +import java.io.Serializable; 31.34 + 31.35 +/** 31.36 + * A class comment for testing. 31.37 + * 31.38 + * @author Bhavesh Patel 31.39 + * @see C1 31.40 + * @since JDK1.0 31.41 + */ 31.42 + 31.43 +public class C2 implements Serializable { 31.44 + 31.45 + /** 31.46 + * This field indicates title. 31.47 + */ 31.48 + String title; 31.49 + 31.50 + public static enum ModalType { 31.51 + NO_EXCLUDE 31.52 + }; 31.53 + 31.54 + /** 31.55 + * Constructor. 31.56 + * 31.57 + */ 31.58 + public C2() { 31.59 + 31.60 + } 31.61 + 31.62 + public C2(String title) { 31.63 + 31.64 + } 31.65 + 31.66 + /** 31.67 + * Set visible. 31.68 + * 31.69 + * @param set boolean 31.70 + * @since 1.4 31.71 + * @deprecated As of JDK version 1.5, replaced by 31.72 + * {@link C1#setUndecorated(boolean) setUndecorated(boolean)}. 31.73 + */ 31.74 + @Deprecated 31.75 + public void setVisible(boolean set) { 31.76 + } 31.77 + 31.78 + /** 31.79 + * Reads the object stream. 31.80 + * 31.81 + * @param s ObjectInputStream 31.82 + * @throws <code>IOException</code> 31.83 + * @deprecated As of JDK version 1.5, replaced by 31.84 + * {@link C1#setUndecorated(boolean) setUndecorated(boolean)}. 31.85 + */ 31.86 + @Deprecated 31.87 + public void readObject(ObjectInputStream s) throws IOException { 31.88 + } 31.89 +}
32.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 32.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C3.java Fri Feb 27 18:57:17 2009 -0800 32.3 @@ -0,0 +1,42 @@ 32.4 +/* 32.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. 32.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 32.7 + * 32.8 + * This code is free software; you can redistribute it and/or modify it 32.9 + * under the terms of the GNU General Public License version 2 only, as 32.10 + * published by the Free Software Foundation. Sun designates this 32.11 + * particular file as subject to the "Classpath" exception as provided 32.12 + * by Sun in the LICENSE file that accompanied this code. 32.13 + * 32.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 32.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 32.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 32.17 + * version 2 for more details (a copy is included in the LICENSE file that 32.18 + * accompanied this code). 32.19 + * 32.20 + * You should have received a copy of the GNU General Public License version 32.21 + * 2 along with this work; if not, write to the Free Software Foundation, 32.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 32.23 + * 32.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 32.25 + * CA 95054 USA or visit www.sun.com if you need additional information or 32.26 + * have any questions. 32.27 + */ 32.28 + 32.29 +package pkg1; 32.30 + 32.31 +import java.lang.annotation.*; 32.32 + 32.33 +/** 32.34 + * Test Annotation class. 32.35 + * 32.36 + * @author Bhavesh Patel 32.37 + * @since 1.5 32.38 + */ 32.39 +@Retention(RetentionPolicy.SOURCE) 32.40 +public @interface C3 { 32.41 + /** 32.42 + * Comment. 32.43 + */ 32.44 + String[] value(); 32.45 +}
33.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 33.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C4.java Fri Feb 27 18:57:17 2009 -0800 33.3 @@ -0,0 +1,39 @@ 33.4 +/* 33.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. 33.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.7 + * 33.8 + * This code is free software; you can redistribute it and/or modify it 33.9 + * under the terms of the GNU General Public License version 2 only, as 33.10 + * published by the Free Software Foundation. Sun designates this 33.11 + * particular file as subject to the "Classpath" exception as provided 33.12 + * by Sun in the LICENSE file that accompanied this code. 33.13 + * 33.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 33.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.17 + * version 2 for more details (a copy is included in the LICENSE file that 33.18 + * accompanied this code). 33.19 + * 33.20 + * You should have received a copy of the GNU General Public License version 33.21 + * 2 along with this work; if not, write to the Free Software Foundation, 33.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.23 + * 33.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.25 + * CA 95054 USA or visit www.sun.com if you need additional information or 33.26 + * have any questions. 33.27 + */ 33.28 + 33.29 +package pkg1; 33.30 + 33.31 +import java.lang.annotation.*; 33.32 + 33.33 +/* 33.34 + * The @Inherited annotation has no effect when applied to an interface. 33.35 + */ 33.36 +@Documented 33.37 +@Retention(RetentionPolicy.RUNTIME) 33.38 +@Target(ElementType.TYPE) 33.39 +@Inherited 33.40 +public @interface C4 { 33.41 + boolean value() default true; 33.42 +}
34.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 34.2 +++ b/test/com/sun/javadoc/testHtmlDefinitionListTag/pkg1/C5.java Fri Feb 27 18:57:17 2009 -0800 34.3 @@ -0,0 +1,65 @@ 34.4 +/* 34.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. 34.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 34.7 + * 34.8 + * This code is free software; you can redistribute it and/or modify it 34.9 + * under the terms of the GNU General Public License version 2 only, as 34.10 + * published by the Free Software Foundation. Sun designates this 34.11 + * particular file as subject to the "Classpath" exception as provided 34.12 + * by Sun in the LICENSE file that accompanied this code. 34.13 + * 34.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 34.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 34.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 34.17 + * version 2 for more details (a copy is included in the LICENSE file that 34.18 + * accompanied this code). 34.19 + * 34.20 + * You should have received a copy of the GNU General Public License version 34.21 + * 2 along with this work; if not, write to the Free Software Foundation, 34.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 34.23 + * 34.24 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 34.25 + * CA 95054 USA or visit www.sun.com if you need additional information or 34.26 + * have any questions. 34.27 + */ 34.28 + 34.29 +package pkg1; 34.30 + 34.31 +import java.io.Serializable; 34.32 + 34.33 +/** 34.34 + * Test for Serializable 34.35 + * 34.36 + * @author Bhavesh Patel 34.37 + * @deprecated This class is no longer used. 34.38 + */ 34.39 +@Deprecated 34.40 +public abstract class C5 implements Serializable { 34.41 + 34.42 + /** 34.43 + * The name for this class. 34.44 + * 34.45 + * @serial 34.46 + */ 34.47 + private String name; 34.48 + 34.49 + /** 34.50 + * @serial 34.51 + */ 34.52 + private int publicKey; 34.53 + 34.54 + /** 34.55 + * Constructor for serialization only. 34.56 + */ 34.57 + protected C5() { 34.58 + 34.59 + } 34.60 + 34.61 + /** 34.62 + * Prints general information. 34.63 + * 34.64 + */ 34.65 + public void printInfo() { 34.66 + 34.67 + } 34.68 +}
35.1 --- a/test/com/sun/javadoc/testIndex/TestIndex.java Tue Feb 24 17:48:53 2009 -0800 35.2 +++ b/test/com/sun/javadoc/testIndex/TestIndex.java Fri Feb 27 18:57:17 2009 -0800 35.3 @@ -73,10 +73,10 @@ 35.4 {BUG_ID + FS + "index-all.html", 35.5 "<DT><A HREF=\"./pkg/C.html#Java\"><STRONG>Java</STRONG></A> - " + NL + 35.6 "Static variable in class pkg.<A HREF=\"./pkg/C.html\" title=\"class in pkg\">C</A>" + NL + 35.7 - "<DD> " + NL + 35.8 + "</DT><DD> </DD>" + NL + NL + 35.9 "<DT><A HREF=\"./pkg/C.html#JDK\"><STRONG>JDK</STRONG></A> - " + NL + 35.10 "Static variable in class pkg.<A HREF=\"./pkg/C.html\" title=\"class in pkg\">C</A>" + NL + 35.11 - "<DD> "}, 35.12 + "</DT><DD> </DD>"}, 35.13 }; 35.14 private static final String[][] NEGATED_TEST = NO_TEST; 35.15
36.1 --- a/test/com/sun/javadoc/testInterface/TestInterface.java Tue Feb 24 17:48:53 2009 -0800 36.2 +++ b/test/com/sun/javadoc/testInterface/TestInterface.java Fri Feb 27 18:57:17 2009 -0800 36.3 @@ -55,7 +55,7 @@ 36.4 36.5 // Make sure known implementing class list is correct and omits type parameters. 36.6 {BUG_ID + FS + "pkg" + FS + "Interface.html", 36.7 - "<DT><STRONG>All Known Implementing Classes:</STRONG> " + 36.8 + "<DT><STRONG>All Known Implementing Classes:</STRONG></DT> " + 36.9 "<DD><A HREF=\"../pkg/Child.html\" " + 36.10 "title=\"class in pkg\">Child</A>, " + 36.11 "<A HREF=\"../pkg/Parent.html\" title=\"class in pkg\">" + 36.12 @@ -63,7 +63,9 @@ 36.13 36.14 // Make sure "All Implemented Interfaces": has substituted type parameters 36.15 {BUG_ID + FS + "pkg" + FS + "Child.html", 36.16 - "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">Interface</A><T>" 36.17 + "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD>" + 36.18 + "<A HREF=\"../pkg/Interface.html\" title=\"interface in pkg\">" + 36.19 + "Interface</A><T>" 36.20 }, 36.21 //Make sure Class Tree has substituted type parameters. 36.22 {BUG_ID + FS + "pkg" + FS + "Child.html", 36.23 @@ -75,15 +77,15 @@ 36.24 }, 36.25 //Make sure "Direct Know Subclasses" omits type parameters 36.26 {BUG_ID + FS + "pkg" + FS + "Parent.html", 36.27 - "<STRONG>Direct Known Subclasses:</STRONG> <DD><A HREF=\"../pkg/Child.html\" title=\"class in pkg\">Child</A>" 36.28 + "<STRONG>Direct Known Subclasses:</STRONG></DT> <DD><A HREF=\"../pkg/Child.html\" title=\"class in pkg\">Child</A>" 36.29 }, 36.30 //Make sure "Specified By" has substituted type parameters. 36.31 {BUG_ID + FS + "pkg" + FS + "Child.html", 36.32 - "<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><<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>></CODE>" 36.33 + "<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><<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>></CODE>" 36.34 }, 36.35 //Make sure "Overrides" has substituted type parameters. 36.36 {BUG_ID + FS + "pkg" + FS + "Child.html", 36.37 - "<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><<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>></CODE>" 36.38 + "<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><<A HREF=\"../pkg/Child.html\" title=\"type parameter in Child\">T</A>></CODE>" 36.39 }, 36.40 }; 36.41 private static final String[][] NEGATED_TEST = {
37.1 --- a/test/com/sun/javadoc/testLinkOption/TestLinkOption.java Tue Feb 24 17:48:53 2009 -0800 37.2 +++ b/test/com/sun/javadoc/testLinkOption/TestLinkOption.java Fri Feb 27 18:57:17 2009 -0800 37.3 @@ -63,7 +63,8 @@ 37.4 "title=\"class or interface in java.lang\">Object</A> p3)" 37.5 }, 37.6 {BUG_ID + "-1" + FS + "java" + FS + "lang" + FS + "StringBuilderChild.html", 37.7 - "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>" 37.8 + "public abstract class <STRONG>StringBuilderChild</STRONG>" + NL + 37.9 + "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>" 37.10 }, 37.11 37.12 };
38.1 --- a/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java Tue Feb 24 17:48:53 2009 -0800 38.2 +++ b/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java Fri Feb 27 18:57:17 2009 -0800 38.3 @@ -59,7 +59,7 @@ 38.4 " Link to another inner class: <A HREF=\"../pkg/C.InnerC2.html\" title=\"class in pkg\"><CODE>C.InnerC2</CODE></A>" 38.5 }, 38.6 {BUG_ID + FS + "pkg" + FS + "C.InnerC2.html", 38.7 - "Enclosing class:</STRONG><DD><A HREF=\"../pkg/C.html\" title=\"class in pkg\">C</A>" 38.8 + "Enclosing class:</STRONG></DT><DD><A HREF=\"../pkg/C.html\" title=\"class in pkg\">C</A>" 38.9 }, 38.10 }; 38.11 private static final String[][] NEGATED_TEST = {
39.1 --- a/test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java Tue Feb 24 17:48:53 2009 -0800 39.2 +++ b/test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java Fri Feb 27 18:57:17 2009 -0800 39.3 @@ -74,7 +74,7 @@ 39.4 39.5 // Test overriding/implementing methods with generic parameters. 39.6 {BUG_ID + FS + "pkg" + FS + "BaseClass.html", 39.7 - "<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>"}, 39.8 + "<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>"}, 39.9 39.10 // Test diamond inheritence member summary (6256068) 39.11 {BUG_ID + FS + "diamond" + FS + "Z.html",
40.1 --- a/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java Tue Feb 24 17:48:53 2009 -0800 40.2 +++ b/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java Fri Feb 27 18:57:17 2009 -0800 40.3 @@ -54,7 +54,7 @@ 40.4 {BUG_ID + FS + "pkg" + FS + "Coin.html", "Enum Coin</H2>"}, 40.5 //Make sure enum signature is correct. 40.6 {BUG_ID + FS + "pkg" + FS + "Coin.html", "public enum "+ 40.7 - "<STRONG>Coin</STRONG><DT>extends java.lang.Enum<" + 40.8 + "<STRONG>Coin</STRONG>" + NL + "extends java.lang.Enum<" + 40.9 "<A HREF=\"../pkg/Coin.html\" title=\"enum in pkg\">Coin</A>>" 40.10 }, 40.11 //Check for enum constant section 40.12 @@ -79,20 +79,20 @@ 40.13 "Class TypeParameters<E></H2>"}, 40.14 //Check class type parameters section. 40.15 {BUG_ID + FS + "pkg" + FS + "TypeParameters.html", 40.16 - "<DT><STRONG>Type Parameters:</STRONG><DD><CODE>E</CODE> - " + 40.17 + "<DT><STRONG>Type Parameters:</STRONG></DT><DD><CODE>E</CODE> - " + 40.18 "the type parameter for this class."}, 40.19 //Type parameters in @see/@link 40.20 {BUG_ID + FS + "pkg" + FS + "TypeParameters.html", 40.21 - "<DT><STRONG>See Also:</STRONG><DD><A HREF=\"../pkg/TypeParameters.html\" " + 40.22 - "title=\"class in pkg\"><CODE>TypeParameters</CODE></A></DL>"}, 40.23 + "<DT><STRONG>See Also:</STRONG></DT><DD><A HREF=\"../pkg/TypeParameters.html\" " + 40.24 + "title=\"class in pkg\"><CODE>TypeParameters</CODE></A></DD></DL>"}, 40.25 //Method that uses class type parameter. 40.26 {BUG_ID + FS + "pkg" + FS + "TypeParameters.html", 40.27 "(<A HREF=\"../pkg/TypeParameters.html\" title=\"type " + 40.28 "parameter in TypeParameters\">E</A> param)"}, 40.29 //Method type parameter section. 40.30 {BUG_ID + FS + "pkg" + FS + "TypeParameters.html", 40.31 - "<STRONG>Type Parameters:</STRONG><DD><CODE>T</CODE> - This is the first " + 40.32 - "type parameter.<DD><CODE>V</CODE> - This is the second type " + 40.33 + "<STRONG>Type Parameters:</STRONG></DT><DD><CODE>T</CODE> - This is the first " + 40.34 + "type parameter.</DD><DD><CODE>V</CODE> - This is the second type " + 40.35 "parameter."}, 40.36 //Signature of method with type parameters 40.37 {BUG_ID + FS + "pkg" + FS + "TypeParameters.html", 40.38 @@ -117,17 +117,17 @@ 40.39 //Signature of subclass that has type parameters. 40.40 {BUG_ID + FS + "pkg" + FS + "TypeParameterSubClass.html", 40.41 "public class <STRONG>TypeParameterSubClass<T extends java.lang.String>" + 40.42 - "</STRONG><DT>extends <A HREF=\"../pkg/TypeParameterSuperClass.html\" " + 40.43 + "</STRONG>" + NL + "extends <A HREF=\"../pkg/TypeParameterSuperClass.html\" " + 40.44 "title=\"class in pkg\">TypeParameterSuperClass</A><T>"}, 40.45 40.46 //Interface generic parameter substitution 40.47 //Signature of subclass that has type parameters. 40.48 {BUG_ID + FS + "pkg" + FS + "TypeParameters.html", 40.49 - "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A><E>, <A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A><E></DD>"}, 40.50 + "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A><E>, <A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A><E></DD>"}, 40.51 {BUG_ID + FS + "pkg" + FS + "SuperInterface.html", 40.52 - "<STRONG>All Known Subinterfaces:</STRONG> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A><V></DD>"}, 40.53 + "<STRONG>All Known Subinterfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SubInterface.html\" title=\"interface in pkg\">SubInterface</A><V></DD>"}, 40.54 {BUG_ID + FS + "pkg" + FS + "SubInterface.html", 40.55 - "<STRONG>All Superinterfaces:</STRONG> <DD><A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A><V></DD>"}, 40.56 + "<STRONG>All Superinterfaces:</STRONG></DT> <DD><A HREF=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">SuperInterface</A><V></DD>"}, 40.57 40.58 //================================= 40.59 // VAR ARG TESTING 40.60 @@ -166,7 +166,7 @@ 40.61 "Element Detail"}, 40.62 //Make sure default annotation type value is printed when necessary. 40.63 {BUG_ID + FS + "pkg" + FS + "AnnotationType.html", 40.64 - "<STRONG>Default:</STRONG><DD>\"unknown\"</DD>"}, 40.65 + "<STRONG>Default:</STRONG></DT><DD>\"unknown\"</DD>"}, 40.66 40.67 //================================= 40.68 // ANNOTATION TYPE USAGE TESTING 40.69 @@ -182,7 +182,8 @@ 40.70 "<FONT SIZE=\"-1\">" + 40.71 "<A HREF=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</A>(<A HREF=\"../pkg/AnnotationType.html#optional()\">optional</A>=\"Class Annotation\","+NL + 40.72 " <A HREF=\"../pkg/AnnotationType.html#required()\">required</A>=1994)"+NL + 40.73 - "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG><DT>extends java.lang.Object</DL>"}, 40.74 + "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG>" + NL + 40.75 + "extends java.lang.Object"}, 40.76 40.77 //FIELD 40.78 {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html", 40.79 @@ -270,8 +271,7 @@ 40.80 {BUG_ID + FS + "pkg1" + FS + "B.html", 40.81 "<PRE><FONT SIZE=\"-1\"><A HREF=\"../pkg1/A.html\" title=\"annotation in pkg1\">@A</A>"}, 40.82 {BUG_ID + FS + "pkg1" + FS + "B.html", 40.83 - "</FONT>public interface <STRONG>B</STRONG></DL>" + NL + 40.84 - "</PRE>"}, 40.85 + "</FONT>public interface <STRONG>B</STRONG></PRE>"}, 40.86 40.87 40.88 //============================================================== 40.89 @@ -525,7 +525,7 @@ 40.90 "<FONT SIZE=\"-1\">" + NL + 40.91 "<A HREF=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</A>(<A HREF=\"../pkg/AnnotationType.html#optional\">optional</A>=\"Class Annotation\"," + NL + 40.92 " <A HREF=\"../pkg/AnnotationType.html#required\">required</A>=1994)" + NL + 40.93 - "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG><DT>extends java.lang.Object</DL>"}, 40.94 + "</FONT>public class <STRONG>AnnotationTypeUsage</STRONG></DT><DT>extends java.lang.Object</DT></DL>"}, 40.95 40.96 //FIELD 40.97 {BUG_ID + FS + "pkg" + FS + "AnnotationTypeUsage.html",
41.1 --- a/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java Tue Feb 24 17:48:53 2009 -0800 41.2 +++ b/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java Fri Feb 27 18:57:17 2009 -0800 41.3 @@ -40,11 +40,11 @@ 41.4 private static final String[][] TEST = { 41.5 //The public method should be overriden 41.6 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 41.7 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 41.8 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 41.9 41.10 //The public method in different package should be overriden 41.11 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 41.12 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"} 41.13 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"} 41.14 }; 41.15 41.16 private static final String[][] NEGATED_TEST = { 41.17 @@ -52,20 +52,20 @@ 41.18 //The package private method should be overriden since the base and sub class are in the same 41.19 //package. However, the link should not show up because the package private methods are not documented. 41.20 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 41.21 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}, 41.22 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}, 41.23 41.24 //The private method in should not be overriden 41.25 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 41.26 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 41.27 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 41.28 41.29 //The private method in different package should not be overriden 41.30 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 41.31 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 41.32 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 41.33 41.34 //The package private method should not be overriden since the base and sub class are in 41.35 //different packages. 41.36 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 41.37 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"} 41.38 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"} 41.39 }; 41.40 41.41 private static final String[] ARGS =
42.1 --- a/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java Tue Feb 24 17:48:53 2009 -0800 42.2 +++ b/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java Fri Feb 27 18:57:17 2009 -0800 42.3 @@ -40,32 +40,32 @@ 42.4 private static final String[][] TEST = { 42.5 //The public method should be overriden 42.6 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 42.7 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 42.8 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 42.9 42.10 //The public method in different package should be overriden 42.11 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 42.12 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 42.13 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 42.14 42.15 //The package private method should be overriden since the base and sub class are in the same 42.16 //package. 42.17 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 42.18 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"} 42.19 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"} 42.20 }; 42.21 42.22 private static final String[][] NEGATED_TEST = { 42.23 42.24 //The private method in should not be overriden 42.25 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 42.26 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 42.27 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 42.28 42.29 //The private method in different package should not be overriden 42.30 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 42.31 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 42.32 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 42.33 42.34 //The package private method should not be overriden since the base and sub class are in 42.35 //different packages. 42.36 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 42.37 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}, 42.38 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}, 42.39 }; 42.40 42.41 private static final String[] ARGS =
43.1 --- a/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java Tue Feb 24 17:48:53 2009 -0800 43.2 +++ b/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java Fri Feb 27 18:57:17 2009 -0800 43.3 @@ -40,32 +40,32 @@ 43.4 private static final String[][] TEST = { 43.5 //The public method should be overriden 43.6 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 43.7 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 43.8 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 43.9 43.10 //The package private method should be overriden since the base and sub class are in the same 43.11 //package. 43.12 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 43.13 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}, 43.14 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"}, 43.15 43.16 //The public method in different package should be overriden 43.17 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 43.18 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 43.19 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#publicMethod"}, 43.20 }; 43.21 43.22 private static final String[][] NEGATED_TEST = { 43.23 43.24 //The private method in should not be overriden 43.25 {BUG_ID + FS + "pkg1" + FS + "SubClass.html", 43.26 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 43.27 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 43.28 43.29 //The private method in different package should not be overriden 43.30 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 43.31 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 43.32 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#privateMethod"}, 43.33 43.34 //The package private method should not be overriden since the base and sub class are in 43.35 //different packages. 43.36 {BUG_ID + FS + "pkg2" + FS + "SubClass.html", 43.37 - "Overrides:</STRONG><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"} 43.38 + "Overrides:</STRONG></DT><DD><CODE><A HREF=\"../pkg1/BaseClass.html#packagePrivateMethod"} 43.39 43.40 43.41 };
44.1 --- a/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java Tue Feb 24 17:48:53 2009 -0800 44.2 +++ b/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java Fri Feb 27 18:57:17 2009 -0800 44.3 @@ -48,12 +48,12 @@ 44.4 private static final String[][] TEST = { 44.5 //Regular param tags. 44.6 {BUG_ID + FS + "pkg" + FS + "C.html", 44.7 - "<STRONG>Parameters:</STRONG><DD><CODE>param1</CODE> - testing 1 2 3." + 44.8 + "<STRONG>Parameters:</STRONG></DT><DD><CODE>param1</CODE> - testing 1 2 3.</DD>" + 44.9 "<DD><CODE>param2</CODE> - testing 1 2 3." 44.10 }, 44.11 //Param tags that don't match with any real parameters. 44.12 {BUG_ID + FS + "pkg" + FS + "C.html", 44.13 - "<STRONG>Parameters:</STRONG><DD><CODE><I>p1</I></CODE> - testing 1 2 3." + 44.14 + "<STRONG>Parameters:</STRONG></DT><DD><CODE><I>p1</I></CODE> - testing 1 2 3.</DD>" + 44.15 "<DD><CODE><I>p2</I></CODE> - testing 1 2 3." 44.16 }, 44.17 //{@inherit} doc misuse does not cause doclet to throw exception.
45.1 --- a/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java Tue Feb 24 17:48:53 2009 -0800 45.2 +++ b/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java Fri Feb 27 18:57:17 2009 -0800 45.3 @@ -96,11 +96,11 @@ 45.4 45.5 //Make sure implemented interfaces from private superclass are inherited 45.6 {BUG_ID + "-1" + FS + "pkg" + FS + "PublicInterface.html", 45.7 - "<STRONG>All Known Implementing Classes:</STRONG> <DD><A HREF=\"../pkg/PublicChild.html\" " + 45.8 + "<STRONG>All Known Implementing Classes:</STRONG></DT> <DD><A HREF=\"../pkg/PublicChild.html\" " + 45.9 "title=\"class in pkg\">PublicChild</A>"}, 45.10 45.11 {BUG_ID + "-1" + FS + "pkg" + FS + "PublicChild.html", 45.12 - "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/PublicInterface.html\" " + 45.13 + "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/PublicInterface.html\" " + 45.14 "title=\"interface in pkg\">PublicInterface</A>"}, 45.15 45.16 //Generic interface method test. 45.17 @@ -174,18 +174,18 @@ 45.18 }, 45.19 // Should document that a method overrides method from private class. 45.20 {BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html", 45.21 - "<STRONG>Overrides:</STRONG><DD><CODE>" + 45.22 + "<STRONG>Overrides:</STRONG></DT><DD><CODE>" + 45.23 "<A HREF=\"../pkg/PrivateParent.html#methodOverridenFromParent(char[], int, T, V, java.util.List)\">" + 45.24 "methodOverridenFromParent</A></CODE> in class <CODE>" + 45.25 "<A HREF=\"../pkg/PrivateParent.html\" title=\"class in pkg\">" + 45.26 - "PrivateParent</A></CODE></DL>"}, 45.27 + "PrivateParent</A></CODE></DD>" + NL + "</DL>"}, 45.28 // Should document that a method is specified by private interface. 45.29 {BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html", 45.30 - "<STRONG>Specified by:</STRONG><DD><CODE>" + 45.31 + "<STRONG>Specified by:</STRONG></DT><DD><CODE>" + 45.32 "<A HREF=\"../pkg/PrivateInterface.html#methodInterface(int)\">" + 45.33 "methodInterface</A></CODE> in interface <CODE>" + 45.34 "<A HREF=\"../pkg/PrivateInterface.html\" title=\"interface in pkg\">" + 45.35 - "PrivateInterface</A></CODE></DL>" + NL + "</DD>"}, 45.36 + "PrivateInterface</A></CODE></DD>" + NL + "</DL>" + NL + "</DD>"}, 45.37 // Method inheritence from non-public superinterface. 45.38 {BUG_ID + "-2" + FS + "pkg" + FS + "PublicInterface.html", 45.39 "Methods inherited from interface " + 45.40 @@ -209,12 +209,12 @@ 45.41 45.42 //Make sure implemented interfaces from private superclass are inherited 45.43 {BUG_ID + "-2" + FS + "pkg" + FS + "PublicInterface.html", 45.44 - "<STRONG>All Known Implementing Classes:</STRONG> <DD><A HREF=\"../pkg/PrivateParent.html\" " + 45.45 + "<STRONG>All Known Implementing Classes:</STRONG></DT> <DD><A HREF=\"../pkg/PrivateParent.html\" " + 45.46 "title=\"class in pkg\">PrivateParent</A>, " + 45.47 "<A HREF=\"../pkg/PublicChild.html\" title=\"class in pkg\">PublicChild</A>"}, 45.48 45.49 {BUG_ID + "-2" + FS + "pkg" + FS + "PublicChild.html", 45.50 - "<STRONG>All Implemented Interfaces:</STRONG> <DD><A HREF=\"../pkg/PrivateInterface.html\" " + 45.51 + "<STRONG>All Implemented Interfaces:</STRONG></DT> <DD><A HREF=\"../pkg/PrivateInterface.html\" " + 45.52 "title=\"interface in pkg\">PrivateInterface</A>, " + 45.53 "<A HREF=\"../pkg/PublicInterface.html\" title=\"interface in pkg\">" + 45.54 "PublicInterface</A>"}, 45.55 @@ -226,7 +226,7 @@ 45.56 "<CODE><A HREF=\"../pkg2/I.html#hello(T)\">I</A></CODE></STRONG>"}, 45.57 45.58 {BUG_ID + "-2" + FS + "pkg2" + FS + "C.html", 45.59 - "<STRONG>Specified by:</STRONG><DD><CODE><A HREF=\"../pkg2/I.html#hello(T)\">" + 45.60 + "<STRONG>Specified by:</STRONG></DT><DD><CODE><A HREF=\"../pkg2/I.html#hello(T)\">" + 45.61 "hello</A></CODE> in interface <CODE><A HREF=\"../pkg2/I.html\" " + 45.62 "title=\"interface in pkg2\">I</A>"}, 45.63 };
46.1 --- a/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java Tue Feb 24 17:48:53 2009 -0800 46.2 +++ b/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java Fri Feb 27 18:57:17 2009 -0800 46.3 @@ -41,39 +41,39 @@ 46.4 // Test for normal run of javadoc. The serialized-form.html should 46.5 // display the inline comments, tags and deprecation information if any. 46.6 private static final String[][] TEST_CMNT_DEPR = { 46.7 - {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL + NL + 46.8 - "<DT><STRONG>Throws:</STRONG>" + NL + "<DD><CODE>" + 46.9 - "java.io.IOException</CODE><DT><STRONG>See Also:</STRONG>" + 46.10 - "<DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 46.11 - "<CODE>C1.setUndecorated(boolean)</CODE></A></DD>" + NL + 46.12 - "</DL>" + NL + "</DL>"}, 46.13 + {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><DL>" + NL + 46.14 + "<DT><STRONG>Throws:</STRONG></DT>" + NL + "<DD><CODE>" + 46.15 + "java.io.IOException</CODE></DD><DT><STRONG>See Also:</STRONG>" + 46.16 + "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 46.17 + "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 46.18 + "</DD>" + NL + "</DL>"}, 46.19 {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 46.20 - "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version" + 46.21 - " 1.5, replaced by" + NL + 46.22 + "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version " + 46.23 + "1.5, replaced by" + NL + 46.24 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 46.25 - "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + 46.26 + "<CODE>setUndecorated(boolean)</CODE></A>.</I></DD>" + 46.27 "<DD>This field indicates whether the C1 is undecorated." + NL + 46.28 - "<P>" + NL + "<DT><DD> <DL>" + NL + 46.29 - "<DT><STRONG>Since:</STRONG></DT>" + NL + 46.30 + "<P>" + NL + "</DD>" + NL + "<DD> </DD>" + NL + 46.31 + "<DD><DL>" + NL + "<DT><STRONG>Since:</STRONG></DT>" + NL + 46.32 " <DD>1.4</DD>" + NL + "<DT><STRONG>See Also:</STRONG>" + 46.33 - "<DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 46.34 - "<CODE>C1.setUndecorated(boolean)</CODE></A></DL>" + NL + 46.35 - "</DL>"}, 46.36 + "</DT><DD><A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 46.37 + "<CODE>C1.setUndecorated(boolean)</CODE></A></DD></DL>" + NL + 46.38 + "</DD>" + NL + "</DL>"}, 46.39 {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 46.40 "<DD><STRONG>Deprecated.</STRONG> <I>As of JDK version" + 46.41 " 1.5, replaced by" + NL + 46.42 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 46.43 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 46.44 - "<DD>Reads the object stream." + NL + "<P>" + NL + 46.45 - "<DD><DL>" + NL + NL + "<DT><STRONG>Throws:" + 46.46 - "</STRONG>" + NL + "<DD><CODE><code>" + 46.47 - "IOException</code></CODE>" + NL + 46.48 - "<DD><CODE>java.io.IOException</CODE></DD>" + NL + 46.49 - "</DL>" + NL + "</DL>"}, 46.50 + "</DD><DD>Reads the object stream." + NL + "<P>" + NL + 46.51 + "</DD>" + NL + "<DD><DL>" + NL + "<DT><STRONG>Throws:" + 46.52 + "</STRONG></DT>" + NL + "<DD><CODE><code>" + 46.53 + "IOException</code></CODE></DD>" + NL + 46.54 + "<DD><CODE>java.io.IOException</CODE></DD></DL>" + NL + 46.55 + "</DD>" + NL + "</DL>"}, 46.56 {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + 46.57 - "<DD><STRONG>Deprecated.</STRONG> <DD>" + 46.58 - "The name for this class." + NL + "<P>" + NL + 46.59 - "<DT><DD> <DL>" + NL + "</DL>" + NL + "</DL>"}}; 46.60 + "<DD><STRONG>Deprecated.</STRONG> </DD><DD>" + 46.61 + "The name for this class." + NL + "<P>" + NL + "</DD>" + NL + 46.62 + "<DD> </DD>" + NL + "</DL>"}}; 46.63 46.64 // Test with -nocomment option. The serialized-form.html should 46.65 // not display the inline comments and tags but should display deprecation 46.66 @@ -83,16 +83,16 @@ 46.67 "undecorated</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" + 46.68 "Deprecated.</STRONG> <I>As of JDK version 1.5, replaced by" + NL + 46.69 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\"><CODE>" + 46.70 - "setUndecorated(boolean)</CODE></A>.</I></DL>"}, 46.71 + "setUndecorated(boolean)</CODE></A>.</I></DD></DL>"}, 46.72 {BUG_ID + FS + "serialized-form.html", "<DL>" + NL + "<DD><STRONG>" + 46.73 "Deprecated.</STRONG> <I>As of JDK version" + 46.74 " 1.5, replaced by" + NL + 46.75 " <A HREF=\"pkg1/C1.html#setUndecorated(boolean)\">" + 46.76 "<CODE>setUndecorated(boolean)</CODE></A>.</I>" + NL + "<P>" + NL + 46.77 - "</DL>"}, 46.78 + "</DD></DL>"}, 46.79 {BUG_ID + FS + "serialized-form.html", "<PRE>" + NL + "int <STRONG>" + 46.80 "publicKey</STRONG></PRE>" + NL + "<DL>" + NL + "<DD><STRONG>" + 46.81 - "Deprecated.</STRONG> </DL>"}}; 46.82 + "Deprecated.</STRONG> </DD></DL>"}}; 46.83 46.84 // Test with -nodeprecated option. The serialized-form.html should 46.85 // ignore the -nodeprecated tag and display the deprecation info. This
47.1 --- a/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java Tue Feb 24 17:48:53 2009 -0800 47.2 +++ b/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java Fri Feb 27 18:57:17 2009 -0800 47.3 @@ -46,14 +46,14 @@ 47.4 //Input for string search tests. 47.5 private static final String[][] TEST = { 47.6 {BUG_ID + FS + "pkg" + FS + "C.html", 47.7 - "<DD><CODE><A HREF=\"../pkg/T1.html\" title=\"class in pkg\">T1</A></CODE> - the first throws tag." + NL + 47.8 - "<DD><CODE><A HREF=\"../pkg/T2.html\" title=\"class in pkg\">T2</A></CODE> - the second throws tag." + NL + 47.9 - "<DD><CODE><A HREF=\"../pkg/T3.html\" title=\"class in pkg\">T3</A></CODE> - the third throws tag." + NL + 47.10 - "<DD><CODE><A HREF=\"../pkg/T4.html\" title=\"class in pkg\">T4</A></CODE> - the fourth throws tag." + NL + 47.11 - "<DD><CODE><A HREF=\"../pkg/T5.html\" title=\"class in pkg\">T5</A></CODE> - the first inherited throws tag." + NL + 47.12 - "<DD><CODE><A HREF=\"../pkg/T6.html\" title=\"class in pkg\">T6</A></CODE> - the second inherited throws tag." + NL + 47.13 - "<DD><CODE><A HREF=\"../pkg/T7.html\" title=\"class in pkg\">T7</A></CODE> - the third inherited throws tag." + NL + 47.14 - "<DD><CODE><A HREF=\"../pkg/T8.html\" title=\"class in pkg\">T8</A></CODE> - the fourth inherited throws tag." 47.15 + "<DD><CODE><A HREF=\"../pkg/T1.html\" title=\"class in pkg\">T1</A></CODE> - the first throws tag.</DD>" + NL + 47.16 + "<DD><CODE><A HREF=\"../pkg/T2.html\" title=\"class in pkg\">T2</A></CODE> - the second throws tag.</DD>" + NL + 47.17 + "<DD><CODE><A HREF=\"../pkg/T3.html\" title=\"class in pkg\">T3</A></CODE> - the third throws tag.</DD>" + NL + 47.18 + "<DD><CODE><A HREF=\"../pkg/T4.html\" title=\"class in pkg\">T4</A></CODE> - the fourth throws tag.</DD>" + NL + 47.19 + "<DD><CODE><A HREF=\"../pkg/T5.html\" title=\"class in pkg\">T5</A></CODE> - the first inherited throws tag.</DD>" + NL + 47.20 + "<DD><CODE><A HREF=\"../pkg/T6.html\" title=\"class in pkg\">T6</A></CODE> - the second inherited throws tag.</DD>" + NL + 47.21 + "<DD><CODE><A HREF=\"../pkg/T7.html\" title=\"class in pkg\">T7</A></CODE> - the third inherited throws tag.</DD>" + NL + 47.22 + "<DD><CODE><A HREF=\"../pkg/T8.html\" title=\"class in pkg\">T8</A></CODE> - the fourth inherited throws tag.</DD>" 47.23 }, 47.24 }; 47.25 private static final String[][] NEGATED_TEST = NO_TEST;