From:
aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Nadia Guerroumi
Sent: Tuesday, March 29, 2005
10:32 AM
To: aspectj-users@xxxxxxxxxxx
Subject: Re: [aspectj-users]
staticinitialization, preinitialization,initialization??
----- Original Message -----
Sent: Tuesday, March 29,
2005 11:55 AM
Subject: RE:
[aspectj-users] staticinitialization, preinitialization,initialization??
Hi Nadia,
The programmer’s guide has a good
definition of the different join points, including the various initialization
ones: http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/progguide/semantics-joinPoints.html
For #2, your before advice in Lolo was
executing on staticinitialization of the Lolo aspect, which failed because the
aspect wasn’t yet initialized. You already figured out the way to avoid
the problem J
From:
aspectj-users-bounces@xxxxxxxxxxx [mailto:aspectj-users-bounces@xxxxxxxxxxx] On Behalf Of Nadia Guerroumi
Sent: Tuesday, March 29, 2005 6:14
AM
To: aspectj-users@xxxxxxxxxxx
Subject: [aspectj-users] staticinitialization,
preinitialization,initialization??
Please could you help me, in the two following questions (
Code is at the end)
1) Difference between staticinitialization,
preinitialization,initialization join points?? They occur between the call to
the construcor and the execution of the constructor. I saw that
staticinitialization occurs only the first time??
BUt what is the difference in the semantics?
2) My objective was to capture all the join points !!
So in the beginning I put only:
Why I had the following error at the execution of the
main??
Exception in thread "main"
java.lang.ExceptionInInitializerError
at
Nadia1.<clinit>(Nadia1.java)
Caused by: org.aspectj.lang.NoAspectBoundException: Lolo
at Lolo.aspectOf(True.java)
at Lolo.<clinit>(True.java)
... 1 more
It works only if I add ! within(Lolo) in the
pcd ??
And gives me this execution:
>>Before the join
point:staticinitialization(Nadia1.<clinit>)
>>Before the
join point:execution(void Nadia1.main(String[]))
>>Before the
join point:call(Bank())
>>Before the
join point:staticinitialization(Bank.<clinit>)
>>Before the
join point:preinitialization(Bank())
>>Before the
join point:initialization(Bank())
>>Before the
join point:execution(Bank())
>>Before the
join point:set(Bank Nadia1.b)
>>Before the
join point:call(Bank())
>>Before the
join point:preinitialization(Bank())
>>Before the
join point:initialization(Bank())
>>Before the
join point:execution(Bank())
>>Before the join
point:set(Bank Nadia1.c)
My programs are the following:
/**************************************************/
class
Nadia1 {
public static Bank b,c;
public
static void main(String[] args) {
b=new
Bank();
c=new
Bank();}}
/***********************************************/
class
Bank {}
/****************************************************/
aspect
Lolo
{
pointcut
p2():if (true) && !within
(Lolo);
before():
p2() {
System.out.println(">>Before
the join point:"+thisJoinPoint);
}
}
Nadia.
_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users