@SecureObjectのようなアノテーションがあり、一部のクラスに適用される可能性があります。さらに、次のようなメソッドを提供するORMがあります
public ObjectID get(Class paramClass、Object object);
次に、アスペクトを作成する必要があります。これは、paramClassに@SecureObjectの注釈が付けられている場合にのみトリガーされます。
次のような簡単なソリューション:
@Before("call(public * some.orm.Datastore.get(..,@SecureObject *,..))"
void runBefore() {
// method code
}
動作しません-メソッドが呼び出されることはありません。しかし有線(aspectj -debugでチェック)。
AspectJでそのような動作を実現することは可能ですか?もしそうなら-どのように?