GWT RequestFactory - 为代理类添加自定义方法?

时间:2011-11-02 13:29:51

标签: java gwt requestfactory

是否可以向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%的客户端代码,问题是我应该在哪里实现。

2 个答案:

答案 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";
  }
}

但是当您从服务器返回时,您必须手动将所有代理对象包装在客户端上。