org.aspectj/tests/new/AddObjectOnAbstract.java

36 lines
734 B
Java
Raw Normal View History

2002-12-16 19:51:06 +01:00
import org.aspectj.testing.Tester;
public class AddObjectOnAbstract {
advice (I1 i1): i1 && String process() {
before {
i1.addA();
}
}
public static void main(String[] args) { test(); }
public static void test() {
AddObjectOnAbstract a = new AddObjectOnAbstract();
ConcreteC1 c1 = new ConcreteC1();
a.addObject(c1);
Tester.checkEqual(c1.process(), "ab", "");
}
}
abstract class I1 {
public String s = "";
public abstract void addA();
public abstract String process();
}
class ConcreteC1 extends I1 {
public void addA() {
s += "a";
}
public String process() {
s += "b";
return s;
}
}