[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[aspectj-users] Simple question about Java, AspectJ, and Static type information
|
Hi all,
Consider the following simple hierarchy:
class Shape { public void m() {} }
class Triangle extends Shape { public void m() {} }
along with the simple advice
pointcut callMeth() : call (public void Shape.m());
before
(Shape s) : call(public void Shape.m()) && target(s){
// advice body
}
Suppose that I have the following call
Shape s = new Triangle();
s.m();
I know that the above advice will affect this call, I want to know if there is a way to get the static type information of the executing object without using reflection. If I use
thisJoinPoint
.getSignature().getDeclaringType().getName() // this returns type Shape that is what I want
I can access that information... but the use of the special variable thisJoinPoint or thisJoinPointStaticPart refers to Java.lang.reflect... I want this constraint because I need to apply such a strategy with Java ME platform in which does not support reflection at all.
I also tried inside the body of the advice
s.getClass().getName(); // But this returns only the type of the executing object which is Triangle in this case... I dont know how to access the name of the static type of the object represented by s which is Shape.
So, You guys (Java and Aspect experts), Do have any ideas on how I can get this?
Kind Regards,
Henrique
--
...............................................................................................................................
Henrique Rebelo
http://www.cin.ufpe.br/~hemr
Informatics Center, UFPE, Brazil