Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
SV: [aspectj-users] Limiting depth of pointcut for subclasses

Hi

Example is EJB's - When you create an EJB you also create a HomeInterface
that extends EJBHome and then you implement that, but at the same time the
container (in this case WebSphere) create another interface that extends
yours and then implements it. So you have two classes that both implement
EJBHome, bu I only want to advice my own implementation.

Hermod


-----Opprinnelig melding-----
Fra: aspectj-users-bounces@xxxxxxxxxxx
[mailto:aspectj-users-bounces@xxxxxxxxxxx] På vegne av Gregor Kiczales
Sendt: 5. februar 2008 17:36
Til: aspectj-users@xxxxxxxxxxx
Emne: Re: [aspectj-users] Limiting depth of pointcut for subclasses

Could you explain a bit more about why you need to do this?


On 2/5/08 5:25 AM, "hermod.opstvedt@xxxxxxxxx" <hermod.opstvedt@xxxxxxxxx>
wrote:

> Hi
> 
> I was afraid there was no easy way - maybe we should ask for an 
> enhancement to add a new attribute that will limit a Object+ construct.
> 
> Hermod
> 
> -----Original Message-----
> From: aspectj-users-bounces@xxxxxxxxxxx 
> [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Gijs Peek
> Sent: Tuesday, February 05, 2008 2:20 PM
> To: aspectj-users@xxxxxxxxxxx
> Subject: Re: [aspectj-users] Limiting depth of pointcut for subclasses
> 
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Although I fail to comprehend why you would ever need this (maybe you 
> should consider modifying your design), my guess would be that you can 
> only achieve such an effect by using the if() pointcut and applying 
> reflection to determine the classes' location in the hierarchy (e.g., 
> by using the Class.getInterfaces method). Your pointcut then would 
> probably look something like pointcut pc(A obj):
>     this(obj) &&
> if(Arrays.asList(obj.getClass().getInterfaces()).contains(A.class)))
> 
> cheers,
>  - Gijs Peek
> 
> hermod.opstvedt@xxxxxxxxx wrote:
>> Limiting depth of pointcut for subclasses
>> 
>> Hi
>> 
>> Is there a short and easy way of shortening the depth of a pointcut?
>> The scenario is that I advise the construction of objects that 
>> implement an interface. However I only want to advice the first child 
>> in the hierarchy of implementation. I.E Interface A extends interface 
>> I, Interface A1 extends interface A. Class C implements A and class 
>> C1
> 
>> implements A1. I only want to advice A (i.e construction of C). First 
>> challenge is that interface I is the only known interface at design 
>> time.
>> 
>> Hermod
>> 
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> * * *
>> 
>> This email with attachments is solely for the use of the individual 
>> or
> 
>> entity to whom it is addressed. Please also be aware that the DnB NOR 
>> Group cannot accept any payment orders or other legally binding
> correspondence with
>> customers as a part of an email.
>> 
>> This email message has been virus checked by the anti virus programs 
>> used in the DnB NOR Group.
>> 
>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>> * * *
>> 
>> ---------------------------------------------------------------------
>> -
>> 
>> _______________________________________________
>> aspectj-users mailing list
>> aspectj-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iQIVAwUBR6hil7b66fbjXztVAQJhLRAApdmbyeaDh42S4826qwA3cvvWzNqy53ua
> xZsKM0b5qNGeUl4mjSBRO9cEJmbXk4Tf/JEQa6LO96RjUEAU9y/2oE66JAtMYAMv
> CCbOM7vjhlPd2BgrSua/0SfEcGDh58kdiExXx3+5qtexd0FZAIJxrg3hWWkKsv7F
> fJ6kO7jB02cnB60Qb4xfZGDclu3cC/2R7XyJyFE2tW4n6kGz27ONUDzj/yziTKS0
> S1O0x+NgfwG9sL7h48FwghfgbjxgxTUQ9M8dqicvItLdylRoZAfLje1BPPCgRA4B
> aGK+O8TRzSuvOtxHec3sYOfFJnKG/05c4yrjN95MSUYWhT/pMtBDv9wJtwya+tu9
> kKS/As1ia9Lb+zcyxLoO3/hFJ1klmOGadWdLXSn9uoMfAYDflbyuzSgLQO8TbUr0
> Y+BaH6e+vovRFb62nLwScVr2iw/xw8RMknjmEkonrEskcNKVRIdDV62whTKi5XeE
> t2pp7wqBwoUFKfHSeNjEceX7kj2n2ifI7eF79n8T41lfcEvvrC5lQbWIyRyBTmDh
> PkGl4bHtPPMdOQhJ1Mv4x1x0ptwMAVuC7CdpFgotnyxAaZSTUzVcxYAp8hWQ3mwB
> 9xlKl9V3LPdNZ9/7rjlo2nm8ZMLj8oJTvgQ2y48KgpiA903K18R9dnyejop/R83R
> Ix+3jo78O5c=
> =RCIp
> -----END PGP SIGNATURE-----
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
> * * *
> 
> This email with attachments is solely for the use of the individual or 
> entity to whom it is addressed. Please also be aware that the DnB NOR 
> Group cannot accept any payment orders or other legally binding 
> correspondence with customers as a part of an email.
> 
> This email message has been virus checked by the anti virus programs 
> used in the DnB NOR Group.
> 
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
> * * *
> 
> _______________________________________________
> 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




Back to the top