The proceed() call in the around advice proceeds to do whatever was intended at the join point originally. Because it is a 'set' join point, the proceed will proceed to set the field being intercepted, so if we supply a different value in the proceed call, the field will be set to that instead.
Andy 2009/6/27 Ravi Chandra <ravi....@gmail.com> > This way you are pointcutting the field variable. How does it return/ set > the variable to new MyList() back?. In other words if i say > > System.out.println('class::' + u.alias.getClass() );// we are point > cutting u.alias variable > > its not printing MyList; instead its showing ArrayList. > > any ideas? > > Are ther any standard tutorials available on the net by which we can get > such problems clarified? Googling hardly helps. Any ideas/ links... kindly > help. > > ravi > > > On Fri, Jun 26, 2009 at 9:57 PM, Andy Clement <andrew.clem...@gmail.com>wrote: > >> Here is a working solution: >> >> public aspect INAspect { >> >> pointcut listCut(ArrayList value, LIST in ) : set(@LIST * * ) && >> args(value) && @annotation(in); >> >> void around(ArrayList value, LIST in) :listCut(value,in) { >> System.out.println("**annotation " + thisJoinPoint + " ann:" + >> in.value()); >> proceed(new MyList(),in); >> } >> >> } >> >> _______________________________________________ >> aspectj-users mailing list >> aspectj-users@eclipse.org >> https://dev.eclipse.org/mailman/listinfo/aspectj-users >> >> > > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > https://dev.eclipse.org/mailman/listinfo/aspectj-users > >
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users