[aosd-discuss] "Around" advice
Eric Bodden
eric.bodden at mail.mcgill.ca
Wed May 23 14:59:01 EDT 2007
The point it that unlike in a real continuation no state is being
stored. As you can see, proceed() here has no arguments, so all that
proceed does is call basically call the original code *location*. Even
if proceed(..) had arguments, those would be *explicit* in the code.
Eric
On 23/05/07, Pascal Costanza <pc at p-cos.net> wrote:
>
> On 23 May 2007, at 15:52, Eric Bodden wrote:
>
> > On 23/05/07, vamsidhar sharma <bvamsidhar at yahoo.com> wrote:
> >> I found examples where the return value is being modified before
> >> sending it or pointcut excution is made conditional. Didn't find
> >> anything more real than these.
> >
> > Another way to us around-advice is to generate a closure that kind of
> > holds the continuation of the execution and can then be invoked later
> > on (see Laddad's book "AOP in action"):
> >
> > Object around(): pc() {
> > runnables.add(new Runnable() {
> > public void run() {
> > return proceed();
> > }
> > });
> > return null;
> > }
> >
> > I have used this technique in a similar way to implement a fault
> > tolerance layer.
>
> This indeed smells like a full continuation, but I can't imagine how
> this would work in a JVM. What am I missing?
>
>
> Pascal
>
> --
> Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net
> Vrije Universiteit Brussel, Programming Technology Lab
> Pleinlaan 2, B-1050 Brussel, Belgium
>
>
>
>
>
--
Eric Bodden
Sable Research Group
McGill University, Montréal, Canada
More information about the discuss
mailing list