2007/01/26

[aspectj-users] ジェネリクスを使用したクラスの指定

[aspectj-users] Around advice and return type

以下、上のリンク先からの引用。
public abstract aspect Base {
pointcut matchGetA() :
call(T *.*(..));

T around() : matchGetA() {
T result = proceed();
...
return result;
}
static aspect BaseA extends Base<A> {};
static aspect BaseB extends Base<B> {};
static aspect BaseC extends Base<C> {};
}

こんな感じ。型パラメータ付き抽象アスペクトとして書いておいて、個別に具象化。
アスペクトの再利用性が高まります。

0 件のコメント: