Hi Mohammad,
staticinitialization has no target object because when a class is
initialized there is no instance yet. Probably you can obtain the class and
other informations using ThisJoinPointStaticPart inside your advice.

    pointcut observerMethods():
        staticinitialization(@Observer com..*);

   after(): observerMethods() {
        InitializerSignature initsig =
(InitializerSignature)ThisJoinPointStaticPart.getSignature();
        Class klass = initsig.getDeclaringType();
        // adding 'klass' into Registry
   }

See http://www.eclipse.org/aspectj/doc/released/runtime-api/index.html for
more info.

Simone

2010/4/27 Mohammad Norouzi <[email protected]>

> Hello
> I want to register those classes annotated with @Observer in a Registry
> class... I want this occurs in a static block of such classes:
>
>     pointcut observerMethods(Class klass):
>         staticinitialization(@Observer com..*)
>         && target(klass);
>
>    after(Class klass): observerMethods(klass) {
>         // adding 'klass' into Registry
>
>    }
>
> but as I read in manual it is said staticinitialization has no target
> object... is this right? if yes, how can I obtain the Class of those
> classes. Can I declare a static-block for matching classes?
>
> thanks
>
> Regards,
> Mohammad
> --------------------------
> Sun Certified Web Developer
> Have a look at some pictures @ http://pixelshot.wordpress.com/
>
>
>
> _______________________________________________
> aspectj-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to