use of com.sun.javadoc.Type in project com.revolsys.open by revolsys.
the class ClientDoclet method parameters.
private void parameters(final ExecutableMemberDoc method) {
final List<Parameter> parameters = new ArrayList<>();
for (final Parameter parameter : method.parameters()) {
parameters.add(parameter);
}
if (!parameters.isEmpty()) {
final Map<String, Tag[]> descriptions = DocletUtil.getParameterDescriptions(method);
this.writer.startTag(HtmlElem.DIV);
this.writer.attribute(HtmlAttr.CLASS, "table-responsive parameters");
this.writer.startTag(HtmlElem.TABLE);
this.writer.attribute(HtmlAttr.CLASS, "table table-striped table-bordered table-condensed");
this.writer.startTag(HtmlElem.THEAD);
this.writer.startTag(HtmlElem.TR);
this.writer.element(HtmlElem.TH, "Parameter");
this.writer.element(HtmlElem.TH, "Type");
this.writer.startTag(HtmlElem.TH);
this.writer.attribute(HtmlAttr.CLASS, "description");
this.writer.text("Description");
this.writer.endTag(HtmlElem.TH);
this.writer.endTagLn(HtmlElem.TR);
this.writer.endTagLn(HtmlElem.THEAD);
this.writer.startTag(HtmlElem.TBODY);
for (final Parameter parameter : parameters) {
this.writer.startTag(HtmlElem.TR);
final String name = parameter.name();
this.writer.startTag(HtmlElem.TD);
this.writer.attribute(HtmlAttr.CLASS, "name");
this.writer.text(parameter.name());
this.writer.endTagLn(HtmlElem.TD);
this.writer.startTag(HtmlElem.TD);
this.writer.attribute(HtmlAttr.CLASS, "type");
final Type type = parameter.type();
DocletUtil.typeNameLink(this.writer, type);
this.writer.endTagLn(HtmlElem.TD);
DocletUtil.descriptionTd(this.writer, method.containingClass(), descriptions, name);
this.writer.endTagLn(HtmlElem.TR);
}
this.writer.endTagLn(HtmlElem.TBODY);
this.writer.endTagLn(HtmlElem.TABLE);
this.writer.endTagLn(HtmlElem.DIV);
}
}
use of com.sun.javadoc.Type in project com.revolsys.open by revolsys.
the class ClientDoclet method methodSignature.
public void methodSignature(final ExecutableMemberDoc member) {
this.writer.startTag(HtmlElem.A);
final String anchor = getAnchor(member);
this.writer.attribute(HtmlAttr.NAME, anchor);
if (member instanceof MethodDoc) {
this.writer.startTag(HtmlElem.SMALL);
final MethodDoc method = (MethodDoc) member;
final Type returnType = method.returnType();
DocletUtil.typeName(this.writer, returnType);
this.writer.text(" ");
this.writer.endTagLn(HtmlElem.SMALL);
}
if (member.isStatic()) {
this.writer.startTag(HtmlElem.I);
}
this.writer.text(member.name());
if (member.isStatic()) {
this.writer.endTag(HtmlElem.I);
}
this.writer.startTag(HtmlElem.SMALL);
this.writer.text("(");
final Parameter[] parameters = member.parameters();
boolean first = true;
for (final Parameter parameter : parameters) {
if (first) {
first = false;
} else {
this.writer.text(", ");
}
DocletUtil.typeName(this.writer, parameter.type());
this.writer.text(" ");
this.writer.text(parameter.name());
}
this.writer.text(")");
this.writer.endTagLn(HtmlElem.SMALL);
this.writer.endTagLn(HtmlElem.A);
}
use of com.sun.javadoc.Type in project com.revolsys.open by revolsys.
the class ClientDoclet method getAnchor.
private String getAnchor(final ExecutableMemberDoc member) {
final StringBuilder anchor = new StringBuilder();
final ClassDoc classDoc = member.containingClass();
final String className = getClassId(classDoc);
anchor.append(className);
anchor.append(".");
anchor.append(member.name());
anchor.append("(");
final Parameter[] parameters = member.parameters();
boolean first = true;
for (final Parameter parameter : parameters) {
if (first) {
first = false;
} else {
anchor.append(",");
}
final Type type = parameter.type();
String typeName = type.qualifiedTypeName();
typeName = typeName.replaceAll("^java.lang.", "");
typeName = typeName.replaceAll("^java.io.", "");
typeName = typeName.replaceAll("^java.util.", "");
anchor.append(typeName);
anchor.append(type.dimension());
}
anchor.append(")");
return anchor.toString();
}
use of com.sun.javadoc.Type in project com.revolsys.open by revolsys.
the class DocletUtil method typeNameLink.
public static void typeNameLink(final XmlWriter writer, final Type type) {
if (type instanceof WildcardType) {
final WildcardType wildCard = (WildcardType) type;
writer.text("?");
final Type[] extendsBounds = wildCard.extendsBounds();
if (extendsBounds.length > 0) {
writer.text(" extends ");
for (int i = 0; i < extendsBounds.length; i++) {
if (i > 0) {
writer.text(", ");
}
final Type extendsType = extendsBounds[i];
typeNameLink(writer, extendsType);
}
}
} else {
final String qualifiedTypeName = type.qualifiedTypeName();
final String externalLink = getExternalUrl(qualifiedTypeName);
final boolean included = isTypeIncluded(type);
if (externalLink != null) {
HtmlUtil.serializeA(writer, "", externalLink, type.typeName());
} else if (included) {
final String url = "#" + qualifiedTypeName;
HtmlUtil.serializeA(writer, "", url, type.typeName());
} else {
writer.text(qualifiedTypeName);
}
if (type instanceof ParameterizedType) {
final ParameterizedType parameterizedType = (ParameterizedType) type;
final Type[] typeArguments = parameterizedType.typeArguments();
if (typeArguments.length > 0) {
writer.text("<");
for (int i = 0; i < typeArguments.length; i++) {
if (i > 0) {
writer.text(", ");
}
final Type typeParameter = typeArguments[i];
typeNameLink(writer, typeParameter);
}
writer.text(">");
}
}
}
writer.text(type.dimension());
}
use of com.sun.javadoc.Type in project com.revolsys.open by revolsys.
the class DocletUtil method documentationReturn.
public static void documentationReturn(final XmlWriter writer, final MethodDoc method) {
final Type type = method.returnType();
if (type != null && !"void".equals(type.qualifiedTypeName())) {
Tag[] descriptionTags = null;
for (final Tag tag : method.tags()) {
if (tag.name().equals("@return")) {
descriptionTags = tag.inlineTags();
}
}
writer.startTag(HtmlElem.DIV);
writer.startTag(HtmlElem.STRONG);
writer.text("Return");
writer.endTag(HtmlElem.STRONG);
writer.endTagLn(HtmlElem.DIV);
typeNameLink(writer, type);
writer.text(" ");
description(writer, method.containingClass(), descriptionTags);
}
}
Aggregations