我使用GWT 2.5 RequestFactory,
假设在服务器端,我有A
,B
,C
,D
4个实体,在客户端,我有AProxy
,BProxy
,CProxy
,DProxy
对应于服务器端实体。
B
,C
延伸A
。在D
实体中,我有一个方法:
A getEntity();
实际返回B
或C
,
在客户端,DProxy
,我有:
AProxy getEntity();
我的问题是在客户端,当我得到AProxy
时,我可以将其投放到BProxy
或CProxy
,如果没有,是否有办法获得实际实体代理?
P.S。在DProxy中,我有@ExtraTypes({BProxy,CProxy})
答案 0 :(得分:4)
如果BPRoxy extends AProxy
的{{1}}(或等效的)和@ProxyFor(B.class)
的{{1}}(或等效的),则是,它应该有效:CProxy extends AProxy
将返回取决于服务器端返回的对象,@ProxyFor(C.class)
,getEntity()
或AProxy
。