我有以下实体:
public class Action{
....
Ref<Followable> target;
....
public Followable getTarget() {
return target.get();
}
}
其中Followable
是我域中其他几个实体实现的接口。我使用Followable
类型,以便Action可以引用几种类型的实体。
我想知道为Action
制作代理类型,但为了能够公开getTarget()
,我需要有Followable
的代理,这是一个接口。
这里的诀窍是,在客户端,我希望能够将Followable
个对象转换为它们的实际类型......
我可以使用RequestFactory做这样的事情吗? 使用这种Followable类型有一个重大缺陷吗?如果是,我如何构建我的域以便能够从Action引用不同的实体类型?
答案 0 :(得分:0)
@ThomasBroyer和@Jens在GWT google group给出了答案。
自GWT 2.4.0以来,可以进行多态性。
请参阅:
GWT 2.4.0 RequestFactory polymorphism
https://code.google.com/p/google-web-toolkit/wiki/RequestFactory_2_4#Polymorphism_support
除了它只适用于域对象的类而不是接口:https://code.google.com/p/google-web-toolkit/issues/detail?id=5762