Hello,
I wish to mixin my classes into the Swing classes but I was surprised that my code below didn't work: there was a cast exception. I've mixed in to my own target class okay so I think it's not my setup issue.
I'm quite keen for this to work so I was wondering if this is currently a limitation or is it possible? I'm using Maven plugin with 1.6.5 rt and annotations - I didn't try the direct syntax style yet.
I wonder if it's caused by order of class loading, but then around advice on Container methods proved to work for me.
with best regards,
Nic.
import java.awt.Container; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.DeclareMixin;
@Aspect public class App { @DeclareMixin("java.awt.Container") public Mixin createContainerMixin(){ return new MixinImpl(); } public interface Mixin { void baz(); }
public class MixinImpl implements Mixin { public void baz(){ System.out.println("baz mixed in !"); } }
public static void main( String[] args ) { Container c = new Container(); Mixin ci = (Mixin) c; ci.baz(); // I get class cast exception here. } }
Use Hotmail to send and receive mail from your different email accounts. Find out how.
|