Hello everyone

Is it possible to use a method that gets introduced by static crosscutting
in one aspect in another aspect?

Lets imagine an aspect Foo that introduces a method "void foo()". Can I now
use this method foo() in another aspect that introduces other methds with
static crosscutting?

public interface Foo {
}

public aspect FooAspect {
    public void Foo.foo() {
      // do something
    }
}

public aspect BarAspect {
    public void Bar.bar() {
        foo(); // How is it possible to call foo() here?
    }
}

public class MyEntity implements Foo {
}

MyEntity e = new MyEntity();
e.bar();


The background:
We are using Spring Data Neo4j (a.k.a SDN). This framework provides an
aspect which introduces some methods and fields in entities that are
annotated with @NodeEntity. We now would like to create our own aspects for
our entities that in turn use the methods that are introduced by the SDN
aspsect.
We'd like to have somthing like:

@NodeEntity
@ModelAEntity
public class FooEntity {
}

@NodeEntity
@ModelAEntity
@ModelBEntity
public class BarEntity {
}

@NodeEntity
@ModelBEntity
@ModelCEntity
public class BazEntity {
}

Where the Model(A|B|C)Entity aspects would introduce new methods that all
need access to the methods introduced by @NodeEntity. Can this be achieved
somehow?


Best regards,
James
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to