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.

Singleton.java 637B

123456789101112131415161718192021222324252627
  1. import org.aspectj.lang.*;
  2. public aspect Singleton {
  3. before(): execution(* Foo.*(..)) {}
  4. public static void main(String []argv) {
  5. print();
  6. new Foo().m();
  7. print();
  8. }
  9. public static void print() {
  10. boolean b1 = Aspects14.hasAspect(Singleton.class);
  11. boolean b2 = Singleton.hasAspect();
  12. Object o1 = (b1?Aspects14.aspectOf(Singleton.class):null);
  13. Object o2 = (b2?Singleton.aspectOf():null);
  14. System.err.println("hasAspect? "+b1+" : "+b2);
  15. System.err.println("aspectOf? "+o1+" : "+o2);
  16. }
  17. public String toString() { return "SingletonInstance"; }
  18. }
  19. class Foo {
  20. public void m() { }
  21. }