Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » AspectJ » wrapping around fields
wrapping around fields [message #564097] Thu, 23 January 2003 03:02
Somik Raha is currently offline Somik RahaFriend
Messages: 6
Registered: July 2009
Junior Member
Hi,
I was experimenting with aspectJ - couldnt get it to run on Eclipse 2.1,
so got the older 2.0. I was trying this :

aspect A {
pointcut getVar(Object whatever): get(* Person.name) &&
target(whatever);
pointcut getVarInt(int whatever): get(* Person.age) && target(whatever);

int around(int whatever): getVarInt(whatever) {
System.out.println("in around(int)");
return -1;
}
Object around(Object whatever): getVar(whatever) {
System.out.println("in around");
return "HELLO";
}
}

where the Person class is :

public class Person {
public int age;
public String name;
}

Here is a sample testcase which I started with, in order to "exercise" the
aspects :

public class VarAspectTest extends TestCase {
public VarAspectTest(String arg0) {
super(arg0);
}
public void testVarGet() {
System.out.println("Accessing Person.name..." + new Person().name);
System.out.println("Accessing Person.age..." + new Person().age);
}
}

The result seems weird- although I am able to get "HELLO" as the name, the
age shows up as 0 - i.e. the aspect on the int member wasn't triggered.

Next, I tried :

pointcut getVar(Object whatever): get(* Person.String) &&
target(whatever);
pointcut getVarInt(int whatever): get(* Person.int) && target(whatever);

This too had the same results. I'm actually looking for a way to process all
string and int members. If I do this :
pointcut getVar(Object whatever): get(* Person.*) && target(whatever);

I am able to trap everything, but the primitive types give a class-cast
exception. So, another question is - is it possible to handle primitive
types in aspectJ ?

I am new to aspects, so I might probably be doing something wrong.
Thanks in advance for any suggestions.

Regards,
Somik
Previous Topic:AJDT FAQ, including how to set up an AJDT development environment
Next Topic:wrapping around fields
Goto Forum:
  


Current Time: Thu Apr 25 23:06:14 GMT 2024

Powered by FUDForum. Page generated in 0.03080 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top