我使用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
,如果没有,是否可以获取实际的实体代理?附言在DProxy中,我有
@ExtraTypes({BProxy,CProxy})
最佳答案
如果BPRoxy extends AProxy
带有@ProxyFor(B.class)
(或等效项),而CProxy extends AProxy
带有@ProxyFor(C.class)
(或等效项),则应该起作用:getEntity()
将返回AProxy
,BProxy
或CProxy
取决于服务器端返回的对象。