Search in sources :

Example 11 with Type

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);
    }
}
Also used : Type(com.sun.javadoc.Type) ArrayList(java.util.ArrayList) Parameter(com.sun.javadoc.Parameter)

Example 12 with Type

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);
}
Also used : Type(com.sun.javadoc.Type) MethodDoc(com.sun.javadoc.MethodDoc) Parameter(com.sun.javadoc.Parameter)

Example 13 with Type

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();
}
Also used : Type(com.sun.javadoc.Type) Parameter(com.sun.javadoc.Parameter) ClassDoc(com.sun.javadoc.ClassDoc)

Example 14 with Type

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());
}
Also used : ParameterizedType(com.sun.javadoc.ParameterizedType) WildcardType(com.sun.javadoc.WildcardType) Type(com.sun.javadoc.Type) ParameterizedType(com.sun.javadoc.ParameterizedType) WildcardType(com.sun.javadoc.WildcardType)

Example 15 with Type

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);
    }
}
Also used : Type(com.sun.javadoc.Type) ParameterizedType(com.sun.javadoc.ParameterizedType) WildcardType(com.sun.javadoc.WildcardType) Tag(com.sun.javadoc.Tag) ParamTag(com.sun.javadoc.ParamTag) SeeTag(com.sun.javadoc.SeeTag)

Aggregations

Type (com.sun.javadoc.Type)17 Parameter (com.sun.javadoc.Parameter)9 ClassDoc (com.sun.javadoc.ClassDoc)7 MethodDoc (com.sun.javadoc.MethodDoc)7 ParamTag (com.sun.javadoc.ParamTag)3 ParameterizedType (com.sun.javadoc.ParameterizedType)2 Tag (com.sun.javadoc.Tag)2 WildcardType (com.sun.javadoc.WildcardType)2 SeeTag (com.sun.javadoc.SeeTag)1 ThrowsTag (com.sun.javadoc.ThrowsTag)1 FileOutputStream (java.io.FileOutputStream)1 ObjectOutputStream (java.io.ObjectOutputStream)1 ArrayList (java.util.ArrayList)1 StatementBuilder (org.h2.util.StatementBuilder)1 JSONArray (org.json.JSONArray)1 JSONObject (org.json.JSONObject)1