// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[XJavaDoc>http://xdoclet.sourceforge.net/xjavadoc/]]はXDocletでも使用されている、JavaDocをパーサするエンジンです。EclipseのJavaDocパーサがどうもタコな動きをする(失礼っ)のでいいのないかなあと思って探してたらこれに行き着きました。
[[XJavaDoc>http://xdoclet.sourceforge.net/xjavadoc/]]はXDocletでも使用されている、JavaDocをパースするエンジンです。[[EclipseのJavaDocパーサ>Eclipse/プラグイン開発のTIPS集/ソースコードを解析するパーサASTParser#p8538c5a]]がどうもタコな動きをする(失礼っ)ので、なんかいいのないかなあと探してたらこれに行き着きました。Eclipseのパーサは ASTVisitor#visit(Javadoc node) でJavaDocインスタンスを取得しそこからJavaDocを解析するのですが、
  @spring.bean id = "hogehoge.Hoge" singleton="false"
などの書き方をうまくパースする方法がわかりませんでした((使い方が悪い??))。idの値であるhogehoge.Hogeだけを取得することができないようでした。

そこでこれを使ってみたのですが、とても簡単にJavaDocを解析することができました。

**インストール [#ye886844]
サイトを見てもダウンロードできるリンクはないようだったので、XDocletに同梱されている xjavadoc-1.1.jar を使用することにしました。また、commons-logging.jar も必要ですね。


**やってみる [#c62b9993]

-対象のJavaDocコメント
 /**
  * Hogeクラス
  * 
  * @spring.bean id = "hogehoge.Hoge" singleton="false"
  * @version $Revision: 1.1 $
  * @author Masatomi KINO
  */

-プログラム
 String javadoc = [上のJavaDoc文字列]
 Token token = Token.newToken(0);
 token.image = javadoc;
 XDoc doc = new XDoc(token, null, new XTagFactory());
 XTag tag = doc.getTag("spring.bean");
 System.out.println(tag);
 String attributeValue = tag.getAttributeValue("id"); <-hogehoge.Hogeが取得できる
 System.out.println("answer!!!!!: " + attributeValue); 


----
この記事は
#vote(おもしろかった,そうでもない)

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS