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.

AddObjectOnAbstract.java 734B

123456789101112131415161718192021222324252627282930313233343536
  1. import org.aspectj.testing.Tester;
  2. public class AddObjectOnAbstract {
  3. advice (I1 i1): i1 && String process() {
  4. before {
  5. i1.addA();
  6. }
  7. }
  8. public static void main(String[] args) { test(); }
  9. public static void test() {
  10. AddObjectOnAbstract a = new AddObjectOnAbstract();
  11. ConcreteC1 c1 = new ConcreteC1();
  12. a.addObject(c1);
  13. Tester.checkEqual(c1.process(), "ab", "");
  14. }
  15. }
  16. abstract class I1 {
  17. public String s = "";
  18. public abstract void addA();
  19. public abstract String process();
  20. }
  21. class ConcreteC1 extends I1 {
  22. public void addA() {
  23. s += "a";
  24. }
  25. public String process() {
  26. s += "b";
  27. return s;
  28. }
  29. }