Java GWT 2.4.0请求工厂多态性

Java GWT 2.4.0请求工厂多态性,java,polymorphism,requestfactory,gwt-2.4,Java,Polymorphism,Requestfactory,Gwt 2.4,GWT 2.4是否支持这种情况: @Entity class MyBase {...} @Entity class MyChild1 extends MyBase {...} @Entity class MyChild2 extends MyBase {...} ... @ProxyFor(MyBase.class) class MyBaseProxy extends EntityProxy {...} @ProxyFor(MyChild1.class) class MyChild1Proxy

GWT 2.4是否支持这种情况:

@Entity class MyBase {...}
@Entity class MyChild1 extends MyBase {...}
@Entity class MyChild2 extends MyBase {...}
...
@ProxyFor(MyBase.class) class MyBaseProxy extends EntityProxy {...}
@ProxyFor(MyChild1.class) class MyChild1Proxy extends MyBaseProxy {...}
@ProxyFor(MyChild2.class) class MyChild2Proxy extends MyBaseProxy {...}
...
@Service(ArticleBase.class)
public interface MyBaseRequest extends RequestContext {
    Request<MyBaseProxy> getStuff(); // MyChild1 here
}
...
Request<MyBaseProxy> getStuffRequest = request.getStuff();
getStuffRequest.fire(new Receiver<MyBaseProxy>() {
    @Override
    public void onSuccess(MyBaseProxy proxy) {
        button.setText(((MyChild1Proxy)proxy).getQwerty()); // HERE!
    }
});
@实体类MyBase{…}
@实体类MyChild1扩展了MyBase{…}
@实体类MyChild2扩展了MyBase{…}
...
@ProxyFor(MyBase.class)类MyBaseProxy扩展EntityProxy{…}
@ProxyFor(MyChild1.class)类MyChild1Proxy扩展了MyBaseProxy{…}
@ProxyFor(MyChild2.class)类MyChild2Proxy扩展了MyBaseProxy{…}
...
@服务(ArticleBase.class)
公共接口MyBaseRequest扩展了RequestContext{
请求getStuff();//此处为MyChild1
}
...
Request getStuffRequest=Request.getStuff();
getStuffRequest.fire(新接收器(){
@凌驾
成功时公共无效(MyBaseProxy代理){
button.setText(((MyChild1Proxy)proxy.getQwerty());//这里!
}
});
?

问题是,我不能让它工作。它要么还不受支持,要么我需要在某处添加一些神奇的注释。当我使用具体类型时,一切都很好,但是如果我使用基本类型,它就不起作用了


你觉得怎么样?

@ExtraTypes
修复了它:

@Service(ArticleBase.class)
@ExtraTypes({MyChild1Proxy.class, MyChild2Proxy.class})
public interface MyBaseRequest extends RequestContext {
    Request<MyBaseProxy> getStuff(); // MyChild1 here
}
@服务(ArticleBase.class)
@外部类型({MyChild1Proxy.class,MyChild2Proxy.class})
公共接口MyBaseRequest扩展了RequestContext{
请求getStuff();//此处为MyChild1
}

谢谢你,为我节省了很多时间-出现了奇怪的堆栈溢出异常。预期将在基代理类上放置额外的类型注释(这导致堆栈溢出异常)。。。