使用ProxyFactory的域接口类型的代理

时间:2014-01-03 18:58:29

标签: java google-app-engine gwt requestfactory

我有以下实体:

public class Action{
    ....
    Ref<Followable> target;
    ....
    public Followable getTarget() {
        return target.get();
    }
}

其中Followable是我域中其他几个实体实现的接口。我使用Followable类型,以便Action可以引用几种类型的实体。

我想知道为Action制作代理类型,但为了能够公开getTarget(),我需要有Followable的代理,这是一个接口。

这里的诀窍是,在客户端,我希望能够将Followable个对象转换为它们的实际类型......

我可以使用RequestFactory做这样的事情吗? 使用这种Followable类型有一个重大缺陷吗?如果是,我如何构建我的域以便能够从Action引用不同的实体类型?

1 个答案:

答案 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