[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [aspectj-users] Implementing abstract pointcut that includes nojoinpoints
|
Ken,
This syntax will do it, although it is a little counterintuitive when you
first encounter it:
protected pointcut overriddenAbstractPointcut();
You can also define a default empty value in a concrete pointcut (like this)
in an abstract aspect and then override it with a non-empty definition in
some concrete aspects. E.g.,
abstract aspect Base {
protected pointcut optionalPoint(); // empty
}
aspect Derived1 extends Base {
protected pointcut optionalPoint() : within(foo..*); // defines for this
}
aspect Derived2 extends Base {
// optional is empty for this concrete aspect
}
-----Original Message-----
From: aspectj-users-bounces@xxxxxxxxxxx
[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Ken Pelletier
Sent: Thursday, October 20, 2005 10:06 PM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] Implementing abstract pointcut that includes
nojoinpoints
I have an abstract aspect that declares a couple of abstract
pointcuts to be overridden in concrete subclasses.
In a particular subclass, however I want to nullify one of those
pointcuts; include no joinpoints at all.
Is there a common idiom for implementing a concrete pointcut that
explicitly includes no joinpoints?
I know I can nullify with && if(false), but it smells funny to
declare any advice type at all if really none applies.
Eg:
protected overriddenAbstractPointcut() :
<what_would_advice_spec_be_here> && if(false;
Regards,
- Ken
PS: it's probably a design smell in the first place to have abstract
pointcuts that sometimes have no applicable concrete implementation,
but that's another matter. :-)
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users