答えて
私が思うには、私は解決策を見つけました。私が思ったように、現在のjavacでは不可能です。ローカルアノテーションは単なるコメントであり、プラグイン可能なアノテーション処理APIによって処理されることはありません。しかし、JSR308には、タイプ変数、ローカル変数、注釈型チェック、キャスティングのパラメータとして素晴らしいものをサポートする型の注釈を扱う興味深い作業があります。見た目はopenJDK 8に組み込まれます。nice
その答えに感謝します。JSR269では、関連するインタフェースは、このような注釈にアクセスするためのgetAnnotation(Class<A> annotationType)
を継承javax.lang.model.element.VariableElement
、次のようになります。
for (VariableElement variable : ElementFilter.fieldsIn(methods)) {
final AnnotationType annotation = variable.getAnnotation(AnnotationType.class);
if (annotation != null) {
// ...
}
}
しかし、 'methods'は要素の集合であり、既に注釈付きフィールドが含まれているはずです(メソッドがそのセットに対して悪い名前になる)。だから 'fieldsIn'は"メソッド内のフィールド(=ローカル変数) "を返しませんが、与えられた要素のセットだけをフィルタリングします。その問題は、APIが(プロセスメソッドのパラメータとして)注釈付きのローカル変数を与えないことです。今のところ、私はすべての(注釈付きのクラスではない)クラスを処理し、ローカル変数の注釈を手動で検索する必要があるように見えます。あなたの例を使用する方法がありますか? – wrm
- 1. 注釈内の列挙体
- 2. 注釈地理algolia symfonyの
- 3. 注釈の処理はどこで行われますか?
- 4. パッケージ内の注釈スキャナ
- 5. Javaコンパイラ注釈処理のためのワークスペース全体の設定は、プロジェクトのプロパティで
- 6. Spring mvc注釈検証のカスタム注釈
- 7. 注釈を使ったGuiceメソッドの注入
- 8. Springの注釈付きコントローラのエラー検証を手動で処理します
- 9. JPA(EclipseLink)、繰り返される@Converter注釈のない型の処理?
- 10. Delphiでメソッドに注釈を付ける?
- 11. アプリケーションの注釈を処理するときにエラーが発生しました
- 12. 注釈とリソースと自動注釈付き注釈
- 13. ユニットテストの注釈?
- 14. サイズイメージピンの注釈
- 15. Morris.jsに注釈/注釈を追加
- 16. 注釈
- 17. (注釈)
- 18. @ id注釈を必要としないエンティティを処理する方法
- 19. のHibernate JPA注釈
- 20. 関数の注釈
- 21. のJava XmlPath注釈
- 22. ニューラルネットワークトレーニングのビデオ注釈
- 23. pythonロックメソッドの注釈
- 24. 注釈ベースのServiceLocatorFactoryBean?
- 25. Swaggerのデータ注釈
- 26. matplotlibのオーバーラップ注釈
- 27. Javaアダプタの注釈
- 28. TYPO3 URL処理注文
- 29. WPF Xaml処理注文
- 30. Javaのカスタム注釈集約複数の注釈
JSR 308は、アノテーション処理を直接サポートしていません(ただし、ローカル変数注釈がクラスファイルに格納されていない長年のバグは修正されます)。 [Checker Framework](http://checkerframework.org)はJSR 308上に構築され、メソッド本体内の注釈を処理する便利な訪問者を提供します。 – mernst