2011-01-12 17 views
0

私はアスペクト指向の質問 - ポイントカット

after(FigureElement fe, int x, int y) returning: 
     call(void FigureElement.setXY(int, int)) 
     && target(fe) 
     && args(x, y) { 
    System.out.println(fe + " moved to (" + x + ", " + y + ")"); 
} 

ポイントカットで何以下の手段を思ったんだけど、ターゲットと引数をここで何を意味するのでしょうか?私は分かりません。

感謝

答えて

4

はのはAspectJ guideに見てみましょう。オブジェクトを実行するターゲットが

引数(タイプまたはID、...)すべてのポイントを参加型のインスタンスまたはIDのタイプである場合

ターゲット(タイプまたはID)あらゆる点に参加します引数は、一致するポイントカットのために、この方法は、あなたの例ではタイプやIDS

の型のインスタンスFigureElementインスタンスで呼び出され、2つのintの引数を持っている必要があります。 targetargsのパラメータで指定された名前は、これらのパラメータがアドバイス本体の内部でアクセス可能であることを意味します。

だから、あなたのポイントカットは2つのintの引数でFigureElement.setXYメソッドのすべての呼び出しと一致し、あなたがxyなどfeとメソッドの引数としてマッチしたインスタンスへのアクセスを提供します。

+0

返信いただきありがとうございます。よろしく – Joeblackdev

関連する問題