Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] getting the object from a joinpoint

Hello,

	Try the following:

	before() :
		call(*.new(..)) &&
		!within(CaptureClassTypeAspect) {
		Class c = thisJoinPoint.getSignature().getDeclaringType();
		if (c.equals(A.class)) {
			System.out.println("The class is an instance of A");
		} else {
			System.out.println("The class is not an instance of A");
		}
	}


	I hope this will help. Best regards,

		Paulo Zenida

Em Segunda, 13 de Fevereiro de 2006 16:49, o mfirrincieli@xxxxxxxxxxxxxxxxx 
escreveu:
> mmm
> basically what i have to do is start up different tasks when different
> kinds of classes are instantiated...
> that's why i have a generic
>
>  pointcut ConstrCall(): !within(MyAspect) && call(myPackage.*.new(..));
>
> pointcut that executes whenere any new() call (within myPackage is called).
>
> so inside my aspect i need to be able to tell what kind of new is being
> called.
>
>
> -m
>
> > mfirrincieli@xxxxxxxxxxxxxxxxx wrote:
> > > i'm join-pointing a *.new() kind of call, and i'm getting mad cause
> > > then
> >
> > what
> >
> > > i'd have to do is getting the object called... and i can't seem to make
> > > it possibile by using thisJoinPoint object.
> > >
> > > for example if i have
> > >
> > > MyClass c = new MyClass();
> > >
> > > i do capture that in my aspect, but i'd also like to get the kind of
> >
> > object
> >
> > > instantiated by new.
> >
> > Not sure if I understood your question correctly but proceed() returns an
> > object, and in the case of a constructor that's the new object:
> >
> > Object around(Object arg): CapturedConstructor(arg) && !within(Cache)
> > {
> >     ...
> >     createdObject = proceed(arg);
> >     ...
> > }
> >
> > Holger
> >
> > _______________________________________________
> > aspectj-users mailing list
> > aspectj-users@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top