[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [aspectj-users] declare parents syntax
- From: "Ron Bodkin" <rbodkin@xxxxxxxxxxxxxx>
- Date: Fri, 29 Sep 2006 11:14:00 -0700
- Delivered-to: firstname.lastname@example.org
- Organization: New Aspects of Software
- Thread-index: Acbj8koDrblYgu02ReW9AKaikwk9GgAADQ/g
It would be great to have a way to reuse type patterns in AspectJ... that's
something I've advocated for a while. That's how I'd improve on redundancy.
But if you are using declare parents you could use the new type in your
pointcut, i.e., use this pointcut execution(* *(..)) && within(XyzType+)
instead of execution(* *(..)) && within(com.xyz..*)
[mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Eugene Kuleshov
Sent: Friday, September 29, 2006 11:04 AM
Subject: Re: [aspectj-users] declare parents syntax
Thanks Ron, I know that. But the thing is that the same pattern is
used in pointcuts to apply additional aspects to the very same classes.
Hence a duplication that may lead to some unexpected typos.
Ron Bodkin wrote:
> Hi Eugene,
> declare parents accepts a type pattern, not a pointcut. A type pattern
> out types, whereas a pointcut picks out join points. The expression inside
> within pointcut are is a type pattern.
> Here's an example of using declare parents to match a type pattern, which
> surely what you wanted to do with within:
> declare parents: com.xyz..* implements XyzType;
> -----Original Message-----
> From: aspectj-users-bounces@xxxxxxxxxxx
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Eugene Kuleshov
> Sent: Thursday, September 28, 2006 12:06 PM
> To: aspectj-users@xxxxxxxxxxx
> Subject: [aspectj-users] declare parents syntax
> I wonder why "declare parents" introduction syntax does not allow to
> use within(*) pointcut expression?
> This limitation lead to significant amount of duplication in the
> aspect code and/or makes xml-based aspect definitions more verbose. The
> only workaround I know is to "bridge" trough annotation introduction,
> but that approach does not work on 1.4 and looks like a hack.
> I thought I saw that it was possible to use within pointcuts for this
> in some old version of AspectJ but it was removed. I might be mistaken
aspectj-users mailing list