Excellent, that is indeed what I want - it wasn't clear to me from the docs that the '+' wildcard matched interface implementation as well as type derivation.
Big thanks. Cheers, Neil > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Ron Bodkin > Sent: Saturday, August 19, 2006 3:18 PM > To: [email protected] > Subject: RE: [aspectj-users] Determination of interface > implementation inapointcut > > Neil, it sounds like you want a pointcut based on static > types, such as: > > // match execution of any method *defined in* a type that > implements Interface pointcut execWithinInterface() : > within(Interface+) && execution(* *(..)); > > or > > // matches execution of any method declared by Interface or > its implementers pointcut execInterfaceExtensions() : > execution(* Interface+.(..)); > > class B { > void foo() {} // matches neither > } > > interface Interface {} > > class D implements Interface { > void foo() { super.foo(); } // matches both > void bar() {} // matches both > } > > These two pointcuts do differ in how they match inter-type > declarations. > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Neil Redding > Sent: Saturday, August 19, 2006 10:58 AM > To: [email protected] > Subject: [aspectj-users] Determination of interface > implementation in apointcut > > > I need to test whether a joinpoint is a member of a class > that implements a particular interface, and would like to > avoid a runtime test to determine this if possible. I'm > currently using the "this()" > pointcut, but have also tried "target()" - both seem to > require runtime tests. > > Also, I want to exclude joinpoints in base classes of classes > that implement the target interface; at the moment neither of > the above pointcut primitives are doing this. > > Any advice? > > Thanks, > Neil > > ------------ > Neil Redding > Director > Lab49, Inc. > > Phone: 646.291.2868 > Email: [EMAIL PROTECTED] > Web : www.lab49.com > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
