Search in sources :

Example 1 with JavadocInlineTagHandler

use of com.eden.orchid.javadoc.api.JavadocInlineTagHandler in project Orchid by JavaEden.

the class CommentParser method getInlineTags.

private JSONArray getInlineTags(Doc doc) {
    JSONArray array = new JSONArray();
    Tag[] tags = doc.inlineTags();
    if (!EdenUtils.isEmpty(tags)) {
        for (Tag tag : tags) {
            JavadocInlineTagHandler handler = null;
            for (JavadocInlineTagHandler tagHandler : inlineTagHandlers) {
                if (("@" + tagHandler.getName()).equalsIgnoreCase(tag.kind())) {
                    handler = tagHandler;
                    break;
                }
            }
            JSONObject result = new JSONObject();
            if (handler != null) {
                result.put("kind", handler.getName());
                result.put("value", handler.processTag(tag).getElement());
            } else {
                result.put("kind", tag.kind().replaceAll("@", "").toLowerCase());
                result.put("value", tag.text());
            }
            array.put(result);
        }
    }
    return (array.length() > 0) ? array : null;
}
Also used : JSONObject(org.json.JSONObject) JSONArray(org.json.JSONArray) JavadocInlineTagHandler(com.eden.orchid.javadoc.api.JavadocInlineTagHandler) Tag(com.sun.javadoc.Tag)

Aggregations

JavadocInlineTagHandler (com.eden.orchid.javadoc.api.JavadocInlineTagHandler)1 Tag (com.sun.javadoc.Tag)1 JSONArray (org.json.JSONArray)1 JSONObject (org.json.JSONObject)1