質問: Java AnnotationとProcessorを使用すると、メソッドを一度しか呼び出せないようにマークすることができます。 2回以上呼び出された場合にRuntimeExceptionをスローするようにメソッドをマークする必要があります。 私はいくつかの単一の代入セマンティクスを強制しようとしています。クラスへのパラメータの数が大きすぎるため、単一のコンストラクタに入れることができず、これらのクラスをJAXB にも認識させる必要があります。オブジェクトは変更可能である必要がありますが、私は単一の割り当てのセマンティクスを強制したいと思います。 私はAspectsを使ってこれを行うことができると確信していますが、代わりに自分のAnnotationsプロセッサを使用できるようにしたいと考えています。 私はPythonでDecoratorsでこれを行う方法を知っています。 **コンパイル時だけでなく、実行時に注釈付きメソッドへの呼び出しを傍受できるアノテーションプロセッサを作成するにはどうすればよいですか?** Dynamic Proxiesを使ってメソッド呼び出しを傍受していると思うので、Annotationプロセッサとの統合方法を理解するだけです。 動的プロキシでは、インターフェイスを使用する必要があります。これは面倒です。 CGLib [MethodInterceptor]( http://cglib.sourceforge.net/apidocs/net/sf/cglib/proxy/MethodInterceptor.html ) これで、インターセプトやデコレーションに必要な要件が大幅に少なくなりました依存関係を追加する費用。
回答: 注釈を使用する代わりに、使用することができます。 ``` assert count++ != 0; ``` メソッドごとに1つのカウンタが必要です。