@@ -0,0 +1,27 @@ | |||
// TESTING: Very basics with a simple static factory method | |||
import org.aspectj.lang.annotation.*; | |||
public class CaseA { | |||
public static void main(String[]argv) { | |||
CaseA ca = new CaseA(); | |||
((I)ca).methodOne(); // will only succeed if mixin applied | |||
} | |||
} | |||
aspect X { | |||
@DeclareMixin("CaseA") | |||
public static I createImplementation() { | |||
System.out.println("Delegate factory invoked"); | |||
return new Implementation(); | |||
} | |||
} | |||
interface I { | |||
void methodOne(); | |||
} | |||
class Implementation implements I { | |||
public void methodOne() { | |||
System.out.println("methodOne running"); | |||
} | |||
} |
@@ -0,0 +1,27 @@ | |||
// TESTING: Very basics with a simple static factory method | |||
import org.aspectj.lang.annotation.*; | |||
public class CaseA { | |||
public static void main(String[]argv) { | |||
CaseA ca = new CaseA(); | |||
((I)ca).methodOne(); // will only succeed if mixin applied | |||
} | |||
} | |||
aspect X { | |||
@DeclareMixin("CaseA") | |||
public static I createImplementation() { | |||
System.out.println("Delegate factory invoked"); | |||
return new Implementation(); | |||
} | |||
} | |||
interface I { | |||
void methodOne(); | |||
} | |||
class Implementation implements I { | |||
public void methodOne() { | |||
System.out.println("methodOne running"); | |||
} | |||
} |