// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/tag/DocTag.java
// public abstract class DocTag<T> {
// 
//     /**
//      * 标签名称
//      */
//     @Getter
//     private String tagName;
// 
//     public DocTag(String tagName) {
//         this.tagName = tagName;
//     }
// 
//     public abstract T getValues();
// }
// 
// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/tag/DocTagImpl.java
// public class DocTagImpl extends DocTag<String> {
// 
//     private String value;
// 
//     public DocTagImpl(String tagName, String value) {
//         super(tagName);
//         this.value = value;
//     }
// 
//     @Override
//     public String getValues() {
//         return value;
//     }
// }
// 
// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/utils/CommentUtils.java
// public class CommentUtils {
// 
//     private static Pattern TAG_NAME_COMPILE = Pattern.compile("^@[\\w]+[\\t ]");
// 
//     /**
//      * 获取注释的类型
//      *
//      * @param comment 注释文本
//      * @return @see @param @resp @return等
//      */
//     public static String getTagType(String comment) {
//         Matcher m = TAG_NAME_COMPILE.matcher(comment);
//         if (m.find()) {
//             return m.group().trim();
//         } else {
//             return null;
//         }
//     }
// 
//     /**
//      * 解析基本的文本注释
//      *
//      * @param comment 注释文本
//      */
//     public static String parseCommentText(String comment) {
//         List<String> comments = asCommentList(comment);
//         for (String s : comments) {
//             if (!s.startsWith("@")) {
//                 return s;
//             }
//         }
//         return "";
//     }
// 
//     /**
//      * 将注释转为多行文本
//      *
//      * @param comment 注释文本
//      */
//     public static List<String> asCommentList(String comment) {
//         comment = comment.replaceAll("\\*", "").trim();
//         String[] array = comment.split("\n");
//         List<String> comments = new ArrayList(array.length);
//         int index = 0;
//         StringBuilder sb = new StringBuilder();
//         for (; index < array.length; index++) {
//             String c = array[index].trim();
// 
//             if (StringUtils.isBlank(c)) {
//                 continue;
//             }
// 
//             String tagType = CommentUtils.getTagType(c);
//             if (StringUtils.isBlank(tagType)) {
//                 sb.append(c);
//                 sb.append("\n");
//             } else {
//                 break;
//             }
//         }
// 
//         if (sb.length() > 0) {
//             sb.deleteCharAt(sb.length() - 1);
//             comments.add(sb.toString());
//         }
// 
//         for (int i = index; i < array.length; i++) {
//             String c = array[i].trim();
//             if (StringUtils.isNotBlank(c)) {
//                 comments.add(c);
//             }
//         }
//         return comments;
//     }
// }


import org.treeleafj.xdoc.tag.DocTag;
import org.treeleafj.xdoc.tag.DocTagImpl;
import org.treeleafj.xdoc.utils.CommentUtils;
package org.treeleafj.xdoc.resolver.javaparser.converter;


/**
 * 基于JavaParser包的默认注释解析转换器
 *
 * @author leaf
 * @date 2017/3/4
 */
public class DefaultJavaParserTagConverterImpl implements JavaParserTagConverter<String> {

    @Override
// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/tag/DocTag.java
// public abstract class DocTag<T> {
// 
//     /**
//      * 标签名称
//      */
//     @Getter
//     private String tagName;
// 
//     public DocTag(String tagName) {
//         this.tagName = tagName;
//     }
// 
//     public abstract T getValues();
// }
// 
// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/tag/DocTagImpl.java
// public class DocTagImpl extends DocTag<String> {
// 
//     private String value;
// 
//     public DocTagImpl(String tagName, String value) {
//         super(tagName);
//         this.value = value;
//     }
// 
//     @Override
//     public String getValues() {
//         return value;
//     }
// }
// 
// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/utils/CommentUtils.java
// public class CommentUtils {
// 
//     private static Pattern TAG_NAME_COMPILE = Pattern.compile("^@[\\w]+[\\t ]");
// 
//     /**
//      * 获取注释的类型
//      *
//      * @param comment 注释文本
//      * @return @see @param @resp @return等
//      */
//     public static String getTagType(String comment) {
//         Matcher m = TAG_NAME_COMPILE.matcher(comment);
//         if (m.find()) {
//             return m.group().trim();
//         } else {
//             return null;
//         }
//     }
// 
//     /**
//      * 解析基本的文本注释
//      *
//      * @param comment 注释文本
//      */
//     public static String parseCommentText(String comment) {
//         List<String> comments = asCommentList(comment);
//         for (String s : comments) {
//             if (!s.startsWith("@")) {
//                 return s;
//             }
//         }
//         return "";
//     }
// 
//     /**
//      * 将注释转为多行文本
//      *
//      * @param comment 注释文本
//      */
//     public static List<String> asCommentList(String comment) {
//         comment = comment.replaceAll("\\*", "").trim();
//         String[] array = comment.split("\n");
//         List<String> comments = new ArrayList(array.length);
//         int index = 0;
//         StringBuilder sb = new StringBuilder();
//         for (; index < array.length; index++) {
//             String c = array[index].trim();
// 
//             if (StringUtils.isBlank(c)) {
//                 continue;
//             }
// 
//             String tagType = CommentUtils.getTagType(c);
//             if (StringUtils.isBlank(tagType)) {
//                 sb.append(c);
//                 sb.append("\n");
//             } else {
//                 break;
//             }
//         }
// 
//         if (sb.length() > 0) {
//             sb.deleteCharAt(sb.length() - 1);
//             comments.add(sb.toString());
//         }
// 
//         for (int i = index; i < array.length; i++) {
//             String c = array[i].trim();
//             if (StringUtils.isNotBlank(c)) {
//                 comments.add(c);
//             }
//         }
//         return comments;
//     }
// }


// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/resolver/javaparser/converter/DefaultJavaParserTagConverterImpl.java
import org.treeleafj.xdoc.tag.DocTag;
import org.treeleafj.xdoc.tag.DocTagImpl;
import org.treeleafj.xdoc.utils.CommentUtils;

package org.treeleafj.xdoc.resolver.javaparser.converter;


/**
 * 基于JavaParser包的默认注释解析转换器
 *
 * @author leaf
 * @date 2017/3/4
 */
public class DefaultJavaParserTagConverterImpl implements JavaParserTagConverter<String> {

    @Override
    public DocTag converter(String comment) {