質問

プラグ可能な注釈処理APIを使用して、Javaアノテーションを処理しています。使用される注釈も処理することは何らかの形で可能ですか? 中身 メソッドボディ?

手伝ってくれてありがとう。ピーター

役に立ちましたか?

解決

解決策を見つけたと思います。私が思ったように、現在のJavacでは不可能です。ローカルアノテーションは単純なコメントであり、プラグ可能な注釈処理APIによって処理されることはありません。しかし、興味深い努力があります JSR308, 、タイプの変数、ローカル変数、注釈付きタイプのチェック、キャストのパラメーターとして素晴らしいものをサポートするハンドリングタイプの注釈...そして、見た目として、それはOpenJDK 8に組み込まれます。

他のヒント

JSR269では、関連するインターフェイスは次のとおりです javax.lang.model.element.VariableElement, 、継承します getAnnotation(Class<A> annotationType) そのような注釈にアクセスするため:

for (VariableElement variable : ElementFilter.fieldsIn(methods)) {
    final AnnotationType annotation = variable.getAnnotation(AnnotationType.class);
    if (annotation != null) {
        // ...
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top