use of com.sun.javadoc.Tag in project cxf by apache.
the class DumpJavaDoc method start.
public static boolean start(RootDoc root) throws IOException {
String dumpFileName = readOptions(root.options());
OutputStream os = Files.newOutputStream(Paths.get(dumpFileName));
Properties javaDocMap = new Properties();
for (ClassDoc classDoc : root.classes()) {
javaDocMap.put(classDoc.toString(), classDoc.commentText());
for (MethodDoc method : classDoc.methods()) {
javaDocMap.put(method.qualifiedName(), method.commentText());
for (ParamTag paramTag : method.paramTags()) {
Parameter[] parameters = method.parameters();
for (int i = 0; i < parameters.length; ++i) {
if (parameters[i].name().equals(paramTag.parameterName())) {
javaDocMap.put(method.qualifiedName() + ".paramCommentTag." + i, paramTag.parameterComment());
}
}
}
Tag[] retTags = method.tags("return");
if (retTags != null && retTags.length == 1) {
Tag retTag = method.tags("return")[0];
javaDocMap.put(method.qualifiedName() + "." + "returnCommentTag", retTag.text());
}
}
}
javaDocMap.store(os, "");
os.flush();
os.close();
return true;
}
use of com.sun.javadoc.Tag in project jersey by jersey.
the class ResourceDoclet method toCSV.
static String toCSV(final Collection<Tag> items, final String separator, final String delimiter) {
if (items == null) {
return null;
}
if (items.isEmpty()) {
return "";
}
final StringBuilder sb = new StringBuilder();
for (final Iterator<Tag> iter = items.iterator(); iter.hasNext(); ) {
if (delimiter != null) {
sb.append(delimiter);
}
final Tag item = iter.next();
sb.append(item.name());
if (delimiter != null) {
sb.append(delimiter);
}
if (iter.hasNext()) {
sb.append(separator);
}
}
return sb.toString();
}
use of com.sun.javadoc.Tag in project jersey by jersey.
the class ResourceDoclet method addResponseDoc.
private static void addResponseDoc(final MethodDoc methodDoc, final MethodDocType methodDocType) {
final ResponseDocType responseDoc = new ResponseDocType();
final Tag returnTag = getSingleTagOrNull(methodDoc, "return");
if (returnTag != null) {
responseDoc.setReturnDoc(returnTag.text());
}
final Tag[] responseParamTags = methodDoc.tags("response.param");
for (final Tag responseParamTag : responseParamTags) {
// LOG.info( "Have responseparam tag: " + print( responseParamTag ) );
final WadlParamType wadlParam = new WadlParamType();
for (final Tag inlineTag : responseParamTag.inlineTags()) {
final String tagName = inlineTag.name();
final String tagText = inlineTag.text();
/* skip empty tags
*/
if (isEmpty(tagText)) {
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Skipping empty inline tag of @response.param in method " + methodDoc.qualifiedName() + ": " + tagName);
}
continue;
}
switch(tagName) {
case "@name":
wadlParam.setName(tagText);
break;
case "@style":
wadlParam.setStyle(tagText);
break;
case "@type":
wadlParam.setType(QName.valueOf(tagText));
break;
case "@doc":
wadlParam.setDoc(tagText);
break;
default:
LOG.warning("Unknown inline tag of @response.param in method " + methodDoc.qualifiedName() + ": " + tagName + " (value: " + tagText + ")");
break;
}
}
responseDoc.getWadlParams().add(wadlParam);
}
final Map<String, List<Tag>> tagsByStatus = getResponseRepresentationTags(methodDoc);
for (final Entry<String, List<Tag>> entry : tagsByStatus.entrySet()) {
final RepresentationDocType representationDoc = new RepresentationDocType();
representationDoc.setStatus(Long.valueOf(entry.getKey()));
for (final Tag tag : entry.getValue()) {
if (tag.name().endsWith(".qname")) {
representationDoc.setElement(QName.valueOf(tag.text()));
} else if (tag.name().endsWith(".mediaType")) {
representationDoc.setMediaType(tag.text());
} else if (tag.name().endsWith(".example")) {
representationDoc.setExample(getSerializedExample(tag));
} else if (tag.name().endsWith(".doc")) {
representationDoc.setDoc(tag.text());
} else {
LOG.warning("Unknown response representation tag " + tag.name());
}
}
responseDoc.getRepresentations().add(representationDoc);
}
methodDocType.setResponseDoc(responseDoc);
}
use of com.sun.javadoc.Tag in project jersey by jersey.
the class ResourceDoclet method getResponseRepresentationTags.
private static Map<String, List<Tag>> getResponseRepresentationTags(final MethodDoc methodDoc) {
final Map<String, List<Tag>> tagsByStatus = new HashMap<>();
for (final Tag tag : methodDoc.tags()) {
final Matcher matcher = PATTERN_RESPONSE_REPRESENTATION.matcher(tag.name());
if (matcher.matches()) {
final String status = matcher.group(1);
List<Tag> tags = tagsByStatus.get(status);
if (tags == null) {
tags = new ArrayList<>();
tagsByStatus.put(status, tags);
}
tags.add(tag);
}
}
return tagsByStatus;
}
use of com.sun.javadoc.Tag in project bazel by bazelbuild.
the class ManualTaglet method toString.
@Override
public String toString(Tag[] tags) {
if (tags.length == 0)
return "";
StringBuilder sb = new StringBuilder();
for (Tag t : tags) {
String[] split = t.text().split(" ", 2);
if (t != tags[0])
sb.append(", ");
sb.append(formatLink(split));
}
return formatHeader(sb.toString());
}
Aggregations