Hi,

On 14 December 2011 11:27, Mark <[email protected]> wrote:
> If so, then it should be available in JoinPoint.StaticPart, but it is
> neither there nor is it in JoinPoint. Why?

It isn't directly on either of those, but they are accessible if you
of course.  I presume you are doing something like this: for a Field
joinpoint:

((FieldSignature)thisJoinPoint.getSignature()).getField().getAnnotations()

similar thing for methods.  It could be exposed directly on JoinPoint
I suppose but it'd just be a cache of the call I showed above - there
isn't any magic in how AspectJ could do it in a more optimal way.
Annotations can't be 'new'd up directly, they tend to have to be
fetched from somewhere.

> Does it mean that accessing
> annotations through the reflection is so cheap that it is OK to do so in
> aspect advices?

No, reflection isn't cheap.  So you should cache the results if you
are going to keep asking the question.  I could cache them in the
joinpoint object, please raise an enhancement request if you want this
but without a few votes it won't be top of the list I'm afraid.

cheers
Andy
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to