请求工厂通用方法属性

时间:2011-11-05 12:11:52

标签: gwt requestfactory

是否可以在Request方法中使用泛型?或者如果不是如何解决这个问题?

让我们说我想实施分页。所以在我的请求界面中我有这样的方法:

public List<UserProxy> getUserList(int offset, int limit);

但该列表仅返回有限的数据。对于分页实现,我还需要完整的元素。在RPC样式中,我将使用Result对象:

public MyResultObject<User> getUserList(int offset, int limit)

在MyResultObject中,我将List和totalCount存储为属性。不幸的是,在RF中,我无法做到这一点。同样在GWT-RPC中,我可以在一个请求中使用来自一个方法的命令模式和反向列表以及来自另一个方法的totalcount。

如何同时获取元素列表的totalcount?

1 个答案:

答案 0 :(得分:3)

您可以拥有MyResultObjectProxy(无可否认专门针对UserProxy),或者您可以在同一个HTTP批处理请求中发出两个请求(列表和总计数):

MyContext ctx = factory.context();
ctx.getUserList(offset, limit).to(new Receiver<List<UserProxy>>() { … });
ctx.getUserTotalCount().to(new Receiver<Integer>() { … });
ctx.fire();

由于GWT 2.4,RF支持多态性,所以也许您可以使用不专用于特定EntityProxy(或Value Proxy)的MyResultObjectProxy,尽管我真的不确定它实际上是什么工作