[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] "AspectJ question"
|
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