blob: 3c7938cc13d95688c28b122646f260c2829cfb16 [file] [log] [blame]
package xalanjdoc;
import com.sun.javadoc.ClassDoc;
import com.sun.javadoc.ExecutableMemberDoc;
import com.sun.javadoc.MethodDoc;
import com.sun.javadoc.ProgramElementDoc;
import com.sun.javadoc.SeeTag;
import com.sun.javadoc.Tag;
public class SerialMethodSubWriter extends MethodSubWriter {
SerialMethodSubWriter(SubWriterHolderWriter writer) {
super(writer);
}
public ProgramElementDoc[] members(ClassDoc cd) {
return this.eligibleMembers(cd.serializationMethods());
}
protected void printHeader(ClassDoc cd) {
super.writer.anchor("serialized_methods");
super.writer.printTableHeadingBackground(super.writer.getText("doclet.Serialized_Form_methods"));
super.writer.p();
if (cd.isSerializable() && !cd.isExternalizable() && this.members(cd).length == 0) {
String msg = super.writer.getText("doclet.Serializable_no_customization");
super.writer.print(msg);
super.writer.p();
}
}
protected void printMember(ClassDoc cd, ProgramElementDoc member) {
ExecutableMemberDoc emd = (ExecutableMemberDoc)member;
String name = emd.name();
this.printHead(emd);
this.printFullComment(emd);
}
public void printMembers(ClassDoc cd) {
if (this.members(cd).length > 0) {
super.printMembers(cd);
}
}
protected void printSerialDataTag(Tag[] serialData) {
if (serialData != null && serialData.length > 0) {
super.writer.dt();
super.writer.boldText("doclet.SerialData");
super.writer.dd();
for(int i = 0; i < serialData.length; ++i) {
super.writer.print(serialData[i].text());
}
}
}
protected void printTags(ProgramElementDoc member) {
MethodDoc method = (MethodDoc)member;
Tag[] serialData = method.tags("serialData");
Tag[] sinces = method.tags("since");
Tag[] usages = member.tags("xsl.usage");
SeeTag[] sees = method.seeTags();
if (serialData.length + sees.length + sinces.length > 0) {
super.writer.dd();
super.writer.dl();
this.printSerialDataTag(serialData);
super.writer.printSinceTag(method);
super.writer.printSeeTags(method);
super.writer.printUsageTags(method);
super.writer.dlEnd();
super.writer.ddEnd();
} else if (method.name().compareTo("writeExternal") == 0) {
Standard.configuration();
ConfigurationStandard.standardmessage.warning("doclet.MissingSerialDataTag", method.containingClass().qualifiedName(), method.name());
}
}
}