0

メソッド呼び出しをインターセプト (@AroundInvoke) したい ... ctx.getParameters() で元のメソッド パラメーターを取得 (参照渡し) し、それらを他のパラメーターに置き換えます。ただし、元のパラメーターも変更されたい (!) 、新しいパラメーターでメソッドを呼び出すだけではありません。

4

1 に答える 1

0

メソッドが呼び出されているクラスをサブクラス化してから、super.AroundInvoke(...) を呼び出す前にパラメーターを変更してみてください。

public class AroundInvokerOverrider extends ClassWithAroundInvokeMethod
{
    @override
    public void AroundInvoke(int a, char c, ...)
    {
        a += 1;
        c = 'A';

        super.AroundInvoke(a,c);
    }
}
于 2013-07-10T13:04:41.343 に答える