I'm pretty sure this should work : after() returning(boolean b) : get(....) {
} that's valid for an "after", no way of doing it in a "before" is not using an around. Simone Get the actual value on access on a field? without using reflection or similar? 2011/1/7 Andy Clement <andrew.clem...@gmail.com> > I feel there ought to be a neater way I can't quite think of, but > these are options: > > import org.aspectj.lang.reflect.*; > > public aspect Foo { > boolean around(): get(boolean value) { > boolean b = proceed(); > System.out.println("around advice: "+b); > return b; > } > > after(C target): get(boolean C.value) && target(target) { > try { > boolean b = > > ((FieldSignature)thisJoinPoint.getSignature()).getField().getBoolean(target); > System.out.println("before advice: "+b); > } catch (Exception e) {} > } > > public static void main(String []argv) { > new C().run(); > } > } > > class C { > boolean value = true; > > public void run() { > boolean b = value; > value= false; > b = value; > } > } > > Andy > > On 7 January 2011 08:10, tomansley <tomans...@gmail.com> wrote: > > > > (NOTE: If anybody has a way of being able to do meaningful searches on > "get" > > and "set" then let me know. I have searched the web for my question > below > > and am stymied by how to actually perform the search) > > > > Hi all, > > > > I am playing around with the "get" and "set" primitives and am not having > > luck gaining access to the variable that is being retrieved with the > "get". > > The set works fine. The following code allows me to gain access to the > > variable (isCacheEnabled) that is being set along with the new value that > > the value is being set to. > > > > before(Boolean newval): set(Boolean ReferenceDataWorker+.isCacheEnabled) > && > > args(newval) { > > System.out.println("isCacheEnabled has been set and the new value > is " + > > newval); > > } > > > > This works great and I am able to print out the new value that > > isCacheEnabled is being set to. The same cannot be said for when I use > the > > "get" primitive. Obviously I do not have the argument available since > there > > is no argument. I am trying to print out the value of isCacheEnabled > before > > (or after for that matter) its retrieved. > > > > before(): get(Boolean ReferenceDataWorker+.isCacheEnabled) { > > System.out.println("isCacheEnabled has been retrieved and the > value is " + > > isCacheEnabled); > > } > > > > My question is: How do I gain access to the "isCacheEnabled" variable > when > > using the "get" primitive? If anyone has anymore useful tips on gaining > > access to variables then that would be great as well. I have tried > > understanding "this", "target" etc but I think I am missing something > > fundamental. > > > > Any help greatly appreciated. > > > > Cheers > > Tom > > -- > > View this message in context: > http://aspectj.2085585.n4.nabble.com/Retrieving-value-whilst-using-the-get-primitive-tp3179362p3179362.html > > Sent from the AspectJ - users mailing list archive at Nabble.com. > > _______________________________________________ > > 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