Hello Simone,

This is exactly what I was looking for.  Now that different people have
given me vastly different responses I don't feel so bad in asking something
I thought should have been fairly common.

Thanks so much for the response.  Much appreciated.

Cheers
Tom

On Mon, Jan 10, 2011 at 10:50 AM, Simone Gianni <simo...@apache.org> wrote:

> 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
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to