You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Foo.java 734B

123456789101112131415161718192021222324252627282930313233
  1. abstract aspect Replicate<T> {
  2. protected pointcut broadcast(T servant);
  3. void around(T servant): broadcast(servant) {
  4. System.err.println("around advice executing: servant class is "+servant.getClass());
  5. proceed(servant);
  6. }
  7. }
  8. aspect ReplicateConcreteB extends Replicate<Boo> {
  9. protected pointcut broadcast(Boo servant) : call(* *.setScene(..)) && target(servant);
  10. }
  11. aspect ReplicateConcreteG extends Replicate<Goo> {
  12. protected pointcut broadcast(Goo servant) : call(* *.setScene(..)) && target(servant);
  13. }
  14. public class Foo {
  15. public static void main(String []argv) {
  16. new Boo().setScene();
  17. new Goo().setScene();
  18. }
  19. }
  20. class Boo {
  21. public void setScene() {}
  22. }
  23. class Goo {
  24. public void setScene() {}
  25. }