1

プロジェクト用の注釈ベースのフレームワークを作成しています。以前は、注釈に静的テキストを渡していましたが、正常に機能していました.サンプルコードは次のとおりです:-

public class MyClass{
   @myannotation(name="Hello World")
   private int variable;
   @myannotation(name="Again Hi")
   private int variable1;
}

いくつかの変更により、メソッドから値を取得する最終変数を使用する必要があります。注釈が動的な値を取ることができないことを知っています。ということで、とりあえず修正。名前の値に数値を渡しました。注釈を解析するときに、この数値を定義済みのメソッドに渡すと、その数値に基づいてその値が返されます。そのためのコードスニペットは次のとおりです:-

public class MyClass{
  private static final String finalVar1 = getValue("Hello World");
  private static final String finalVar2 = getValue("Again Hi");
  @myannotation(name="1")
  private int variable;
  @myannotation(name="2")
  private int variable2;

  public String getConvetedValue(String value){
    if(value!=null && value.equals("1")){
        return finalVar1;
    }else if(value!=null && value.equals("2")){
       return finalVar2;
    }
  }
}

したがって、上記の例では、リフレクションを使用して注釈パーサーから呼び出された getConvertedValue とパーサーが、注釈からフェッチされたこのメソッドに数値を渡します。

この問題のより良い解決策を提案してください。

4

0 に答える 0