[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] Set scope for code in advice to join point's target
|
That's exactly what I was looking for! Thank you very much.
Kind regards,
Michael Herrmann
> You can't get AspectJ to do that in the advice code. However, you can
> put the contents of your advice into another method, then use
> intertype declaration to make that method a member of class Foo:
>
> public aspect FooAspect {
> before(Foo f): call(void Foo.doSomething()) && target(f) {
> f.advice();
> }
>
> void Foo.advice() {
> // magic construct
> doSomethingElse();
> System.out.println("Some String");
> doAnotherThing();
> }
> }
>
> HTH.
>
> dean
>
> --
> Dean Wampler
> http://www.aspectprogramming.com
> http://www.newaspects.com
> http://www.contract4j.org
>
> On 2/12/06, Michael Herrmann <Michael_Herrmann@xxxxxx> wrote:
> > Hello again,
> >
> > is it possible to set the scope for the execution of some code in an
> advice
> > to the join point's target (I hope I've used the technical terms
> correctly)?
> > Let's assume I have a class Foo:
> >
> > public class Foo {
> > public void doSomething() {
> > // ...
> > }
> >
> > public void doSomethingElse() {
> > // ...
> > }
> >
> > public void doAnotherThing() {
> > // ...
> > }
> > }
> >
> > and the corresponding aspect, FooAspect:
> >
> > public aspect FooAspect {
> > before(Foo f): call(void Foo.doSomething()) && target(f) {
> > f.doSomethingElse();
> > System.out.println("Some String");
> > f.doAnotherThing();
> > }
> > }
> >
> > I now want to avoid having to write f. ... everytime. Rather, I'd like
> to
> > tell AJ to execute a set of statements in the context of f. In other
> words:
> > I want to execute a set of statements as if they were directly written
> in
> > the source code of Foo:
> >
> > public aspect FooAspect {
> > before(Foo f): call(void Foo.doSomething()) && target(f) {
> > // magic construct
> > doSomethingElse();
> > System.out.println("Some String");
> > doAnotherThing();
> > }
> > }
> >
> > I hope you understand what I mean. Thank you very much in advance,
> > Michael Herrmann
> >
> > --
> > 10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
> > +++ GMX - die erste Adresse für Mail, Message, More +++
> > _______________________________________________
> > aspectj-users mailing list
> > aspectj-users@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/aspectj-users
> >
>
>
> --
> Dean Wampler
> http://www.aspectprogramming.com
> http://www.newaspects.com
> http://www.contract4j.org
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
--
Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner