[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [aspectj-users] "AspectJ question"
|
You
can order advice between different aspects by applying a precedence
rule:
declare precedence: firstAspect, secondAspect.
For
advice within an aspect, the ordering is the order the advice appears in the
aspect. So for your case below, if you move the static
affecting advice before the advice for all methods you will get them in
order.
(Chapter 4.2 Laddad, AspectJ in Action)
Elizabeth
Hi All,
I´m working with AspectJ and
recently get a Problem:
In order to ilustrate, consider the simple
example:
public class C{
public
void
m(int a, int b){ }
}
And an aspect like:
public aspect AspectoC {
// Advice to run at beginning of every execution of method
m()
before(C current) :
execution(void C.m(int ,int)) &&
within(teste.C) &&
this(current){
System.out.println("Code executed (I want to run in
SECOND, but it runs in FIRST!!) before any code of method m() in Class C
executes");
}
// Advice to run a specific code at beginning of all
methods non-static!
before(C current) :
execution(!static * C.*(..)) &&
within(teste.C) &&
this(current){
System.out.println("This (I want to run in FIRST
before everything) must execute before anything in methdo m() in Class
C");
}
}
The question is: Is there a
possibility to execute the second advice always in FIRST?
- The second
advice is applicable to all methods in Class C, but a method m() is affected
by the first advice. Thus, the first advice executes first than the second. I
want a way to apply to all methods non-static to execute the second advice at
FIRST. And if there is a method that has an advice that affected it, I would
like that this advice executes after that the advice that affect all methods
non-static.
IF I execute this code it
returns this result:
Code executed (I want
to run in SECOND, but it runs in FIRST!!) before any code of method m() in
Class C executes
This (I want to run in
FIRST before everything) must execute before anything in methdo m() in Class
C
(So , I want a way to bring me a inverse
result!!!)
Thanks to ALL!
--
--------------------------------------------
Henrique Mostaert
EIG
2005 - Eclipse Innovation Grant - Awards Program
Sun Certified Programmer
for Java2 platform 1.4
CONFIDENTIAL AND PRIVILEGED INFORMATION NOTICE
This e-mail, and any attachments, may contain information that
is confidential, subject to copyright, or exempt from disclosure.
Any unauthorized review, disclosure, retransmission,
dissemination or other use of or reliance on this information
may be unlawful and is strictly prohibited.
AVIS D'INFORMATION CONFIDENTIELLE ET PRIVILÃGIÃE
Le présent courriel, et toute pièce jointe, peut contenir de
l'information qui est confidentielle, régie par les droits
d'auteur, ou interdite de divulgation. Tout examen,
divulgation, retransmission, diffusion ou autres utilisations
non autorisées de l'information ou dépendance non autorisée
envers celle-ci peut être illégale et est strictement interdite. |