XJavaDocはXDocletでも使用されている、JavaDoc?をパースするエンジンです。EclipseのJavaDocパーサがどうもタコな動きをする(失礼っ)ので、なんかいいのないかなあと探してたらこれに行き着きました。Eclipseのパーサは ASTVisitor#visit(Javadoc node) でJavaDoc?インスタンスを取得しそこからJavaDoc?を解析するのですが、
@spring.bean id = "hogehoge.Hoge" singleton="false"
などの書き方をうまくパースする方法がわかりませんでした*1。idの値であるhogehoge.Hogeだけを取得することができないようでした。
そこでこれを使ってみたのですが、とても簡単にJavaDoc?を解析することができました。
サイトを見てもダウンロードできるリンクはないようだったので、XDocletに同梱されている xjavadoc-1.1.jar を使用することにしました。また、commons-logging.jar も必要ですね。
/** * 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);
この記事は
現在のアクセス:8086