[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] nested calls
|
On Tuesday 18 December 2007 Ramnivas Laddad's cat, walking on the keyboard,
wrote:
> pointcut extendedOp() : execution(* StatefullDatabaseObject+.*(..)) &&
> !execution(StatefullDatabaseObject.*(..));
Following your suggestions (it works!) I've changed my pointcut to the
following:
pointcut nestedDatabaseOperation() : this(StatefullDatabaseObject)
// I want the call to be made within a StatefullDatabaseObject
&& // and
target(StatefullDatabaseObject)
// the callee must be another StatefullDatabaseObject
&& // and
execution( boolean StatefullDatabaseObject+.*() throws
DatabaseException)
// a method call to the main StatefullDatabaseObject methods
&& // and
! execution( boolean StatefullDatabaseObject.*() throws
DatabaseException )
// I'm not myself in a StatefullObject method
;
But this rises a doubt in my mind: what's the exact difference between the
execution and call clauses? In other words, why if I use call instead of the
two execution forms it does not work (advicing also nested calls)?
Thanks,
Luca