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.

CaseTen.java 732B

12345678910111213141516171819202122232425262728293031323334
  1. // CaseTen - binding multiple things
  2. import java.lang.annotation.*;
  3. public class CaseTen {
  4. public static void main(String []argv) {
  5. CaseTen o = new CaseTen();
  6. o.a(1);
  7. o.b(2);
  8. o.c(3);
  9. o.d(4);
  10. o.e(5);
  11. }
  12. public void a(int i) {}
  13. @Anno(Level.NONE) public void b(int i) {}
  14. @Anno(Level.ONE) public void c(int i) {}
  15. @Anno(Level.TWO) public void d(int i) {}
  16. @Anno(Level.THREE) public void e(int i) {}
  17. }
  18. enum Level { NONE, ONE, TWO, THREE; }
  19. @Retention(RetentionPolicy.RUNTIME)
  20. @interface Anno { Level value();}
  21. aspect X {
  22. before(Level l,int i): execution(@Anno !@Anno(Level.NONE) * *(..)) && @annotation(Anno(l)) && args(i) {
  23. System.out.println(l+":"+i);
  24. }
  25. }