2012-05-30 5 views
7

@InvisibleというカスタムAnnotationがあります。 私はすべての呼び出しを@Invisible Annotationを持たないメソッドと照合したいと思います。これどうやってするの? (注釈スタイルの開発と)AspectJに特定のAnnotationを持たないメソッドの一致方法

私の最初の試みでした:

@Pointcut("execution([email protected] * some.other.package.execute(..))") 

が、これは言い換えれば

...動作していないよう:メソッドは、私が欲しい見えない注釈を持っている場合それを無視する。そうでなければ私は私のアドバイスといくつかのコードを実行したい...

+1

のようなものを試してみてください?言い換えれば、クラスは既にプロキシされており、アノテーションを失う可能性がありますか?構文自体は動作します。 –

+3

「実行(* some.other.package.execute(..)」&&!@annotation(my.package.Invisible) ' –

+0

@ KonstantinV.Salikhov [注釈ポイントカットノート](http:// www.eclipse.org/aspectj/doc/released/adk15notebook/annotations-pointcuts-and-advice.html)あなたは*単一の式に結合することができますが、それは一発の価値があります。 –

答えて

7

は、あなたはこの1つ前のクラスの他のアドバイスはありますかexecution(* some.other.package.execute(..)) && [email protected](my.package.Invisible)

関連する問題