[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [aspectj-users] Determination of interface implementation inapointcut
|
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: aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Ron Bodkin
> Sent: Saturday, August 19, 2006 3:18 PM
> To: aspectj-users@xxxxxxxxxxx
> 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: aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Neil Redding
> Sent: Saturday, August 19, 2006 10:58 AM
> To: aspectj-users@xxxxxxxxxxx
> 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: nredding@xxxxxxxxx
> Web : www.lab49.com
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>