4

私は持っている

@ColumnMetadata(index=1)
...
@ColumnMetadata(index=2)
...
@ColumnMetadata(index=3)
...

そして、APT を使用してインデックス番号が一意かどうかを確認する必要があります。これを行う方法がわかりません。私はチュートリアルを理解していません。一般に、ネット上で資料を見つけるのに問題があります。

これを行う方法?APT に関するチュートリアル/何かありますか?

4

1 に答える 1

8

aptツールの後継であるプラガブルアノテーションAPIを使用することをお勧めします。開始するための短いチュートリアルは次のとおりです。Java6.0の機能パート– 2:プラグ可能なアノテーション処理API

これは、注釈を確認するために実行する必要のあるおおよその手順です。

  1. 注釈プロセッサを作成します。AbstractProcessorを拡張する必要があります
  2. 検索する注釈を定義し、以下を追加します。
    @SupportedAnnotationTypes(value= {"full.name.of.ColumnMetadata"})
  3. メソッドをオーバーライドしprocessます。
  4. RoundEnvironmentパラメーターを使用して、ソースコードの要素にアクセスします。必要な要素は、何をしたいかによって異なります。
    • トップダウンアプローチ:getRootElementsはすべてのクラスを提供し、チェックする特定の要素をフィルタリングできます。このメソッドは、メソッドまたはプロパティアノテーションが含まれるクラスなど、アノテーション周辺のコード構造を分析する場合に役立ちます。
    • ボトムアップアプローチ:getElementsAnnotatedWithこのメソッドを使用して、注釈付き要素のみを取得します。要素の位置を推測することはできますが、要素を比較する場合は、要素を追跡する必要がある場合があります(たとえば、注釈付き要素のリストをクラスタイプにマッピングすることによって)。
  5. 必要な要素をループして、AnnotationMirrorを取得します。値を取得して確認します。
  6. エラーを報告する場合は、提供されているMessagerを要素とともに使用します。これを使用して、IDEで優れたコンパイラエラーメッセージを作成できます。
于 2011-12-14T20:36:16.520 に答える