是否可以向GWT RequestFactory的代理类添加方法?假设我有这个:
@ProxyFor(value = MyEntity.class)
interface MyEntityProxy extends EntityProxy {
String getData(); // got it on server side
}
服务器端支持 GetData()
,没关系。如果我想添加这样的方法怎么办?
@ProxyFor(value = MyEntity.class)
interface MyEntityProxy extends EntityProxy {
String getData(); // got it on server side
String getDataAndAppendQwerty(); // want this one on client side
}
我想手动实施getDataAndAppendQwerty()
。它是100%的客户端代码,问题是我应该在哪里实现。
答案 0 :(得分:3)
答案是AutoBean categories,但它们not (yet)在RequestFactory中浮出水面。
答案 1 :(得分:0)
我不知道一个简单的方法。您可以使用包装器和委托
public class MyEntityProxyExt implements MyEntityProxy {
private final MyEntityProxy proxy;
public MyEntityProxyExt(MyEntityProxy proxy) {
this.proxy = proxy;
}
@Override
public String getData() {
return proxy.getData();
}
public Object getDataAndAppendQwerty() {
return proxy.getData() + "qwerty";
}
}
但是当您从服务器返回时,您必须手动将所有代理对象包装在客户端上。