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.

CaseFour.java 1.0KB

12345678910111213141516171819202122232425262728
  1. // Types in packages
  2. package a.b;
  3. class AClass {}
  4. class BClass {}
  5. class CClass {}
  6. public aspect CaseFour pertypewithin(*Class) {
  7. public static void main(String []argv) {
  8. new Runner().run();
  9. }
  10. }
  11. class Runner {
  12. public void run() {
  13. CaseFour aInstance = (CaseFour.hasAspect(AClass.class)?CaseFour.aspectOf(AClass.class):null);
  14. CaseFour bInstance = (CaseFour.hasAspect(BClass.class)?CaseFour.aspectOf(BClass.class):null);
  15. CaseFour cInstance = (CaseFour.hasAspect(CClass.class)?CaseFour.aspectOf(CClass.class):null);
  16. System.out.println("BClass aspect instance gives a within type name of "+
  17. (bInstance==null?"<null>":bInstance.getWithinTypeName()));
  18. System.out.println("CClass aspect instance gives a within type name of "+
  19. (cInstance==null?"<null>":cInstance.getWithinTypeName()));
  20. System.out.println("AClass aspect instance gives a within type name of "+
  21. (aInstance==null?"<null>":aInstance.getWithinTypeName()));
  22. }
  23. }