書き方を検討中です
class MyClass {
@Get
@Set
protected int aValue;
}
次に、クラスの get_aValue() および set_AValue() メソッドを自動的に生成します。
私はこれらの可能性を見つけました:
1a) コンパイル時。MyClass.java を個別に処理するためにアノテーション プロセッサを使用してから、新しい MyClass.java を作成し、最後にこの後者 (オリジナルを置き換えて) を残りの .java と共に使用します。
1b) コンパイル時。注釈プロセッサを使用して、元の MyClass のサブクラスである新しいクラス (get/set メソッドを使用) を含む MyClassGenerated.java ファイルを生成します。
2) 実行時。java.lang.instrument と外部ツール (BCEL など) を使用して、MyClass.class に新しいコードを織り込みます。
さて、質問は次のとおりです。サードパーティのライブラリ(ロンボクプロジェクトやBCELなど)を可能な限り使用したくないことを考慮して
a)他のアプローチがありませんか?
b) どのアプローチを使用しますか?
1a) を使用すると思います。
1b) クリーンではありません (プログラムの残りの部分では、元の MyClass の代わりに MyClassGeneradted を使用する必要がありますが、おそらく名前だけの問題です)
2) は本当に難しいです (少なくとも私にとっては)。