blob: f0bfc66b2fbee0fdebea202e520aaf5a25773984 [file] [log] [blame]
package xalanjdoc;
import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.ConstructorDoc;
import com.sun.javadoc.ParamTag;
import com.sun.javadoc.ProgramElementDoc;
import com.sun.javadoc.SeeTag;
import com.sun.javadoc.Tag;
import com.sun.javadoc.ThrowsTag;
public class ConstructorSubWriter extends ExecutableMemberSubWriter {
protected boolean foundNonPublicMember = false;
ConstructorSubWriter(SubWriterHolderWriter writer) {
super(writer);
}
protected void checkForNonPublicMembers(ProgramElementDoc[] members) {
for(int i = 0; i < members.length; ++i) {
if (!this.foundNonPublicMember && !members[i].isPublic()) {
this.foundNonPublicMember = true;
break;
}
}
}
public ProgramElementDoc[] members(ClassDoc cd) {
ProgramElementDoc[] members = this.eligibleMembers(cd.constructors());
this.checkForNonPublicMembers(members);
return members;
}
protected void navSummaryLink(ClassDoc cd) {
this.printNavSummaryLink(cd, this.members(cd).length > 0);
}
protected void printHeader(ClassDoc cd) {
super.writer.anchor("constructor_detail");
super.writer.printTableHeadingBackground(super.writer.getText("doclet.Constructor_Detail"));
}
public void printInheritedSummaryAnchor(ClassDoc cd) {
}
public void printInheritedSummaryLabel(ClassDoc cd) {
}
protected void printNavDetailLink(boolean link) {
if (link) {
super.writer.printHyperLink("", "constructor_detail", super.writer.getText("doclet.navConstructor"));
} else {
super.writer.printText("doclet.navConstructor");
}
}
protected void printNavSummaryLink(ClassDoc cd, boolean link) {
if (link) {
super.writer.printHyperLink("", "constructor_summary", super.writer.getText("doclet.navConstructor"));
} else {
super.writer.printText("doclet.navConstructor");
}
}
public void printSummaryAnchor(ClassDoc cd) {
super.writer.anchor("constructor_summary");
}
public void printSummaryLabel(ClassDoc cd) {
super.writer.boldText("doclet.Constructor_Summary");
}
protected void printSummaryType(ProgramElementDoc member) {
if (this.foundNonPublicMember) {
super.writer.printTypeSummaryHeader();
if (member.isProtected()) {
this.print("protected ");
} else if (member.isPrivate()) {
this.print("private ");
} else if (member.isPublic()) {
super.writer.space();
} else {
super.writer.printText("doclet.Package_private");
}
super.writer.printTypeSummaryFooter();
}
}
protected void printTags(ProgramElementDoc member) {
ParamTag[] params = ((ConstructorDoc)member).paramTags();
ThrowsTag[] thrown = ((ConstructorDoc)member).throwsTags();
Tag[] sinces = member.tags("since");
SeeTag[] sees = member.seeTags();
Tag[] usages = member.tags("xsl.usage");
if (usages.length + params.length + thrown.length + sees.length + sinces.length > 0) {
super.writer.dd();
super.writer.dl();
this.printParamTags(params);
this.printThrowsTags(thrown);
super.writer.printSinceTag(member);
super.writer.printSeeTags(member);
super.writer.printUsageTags(member);
super.writer.dlEnd();
super.writer.ddEnd();
}
}
}