Java GWT RequestFactory-向代理类添加自定义方法?
是否可以向GWT RequestFactory的代理类添加方法?假设我有这个:Java GWT RequestFactory-向代理类添加自定义方法?,java,gwt,requestfactory,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) interfa
@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%的客户端代码,问题是我应该把实现放在哪里。我不知道有什么简单的方法。您可以使用包装器和委托
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";
}
}
但是,当您从服务器取回所有代理对象时,您必须手动将它们包装到客户端上。答案是肯定的,但它们出现在RequestFactory中。还是我们应该等待Java 8支持?无更新。我不确定“默认方法”如何与AutoBean和RequestFactory一起工作;他们肯定会爆炸;也许可以尝试使用GWT2.8.0-SNAPSHOT?(尚不确定是否支持默认方法)