GWT 请求工厂粗粒度包装器对象



目前在我的应用程序中,我们正在使用GWT RequestFactory。我们有多个实体代理。几个查找器方法从服务层返回列表。由于我们在应用程序中使用分页,因此我们在列表中返回预配置的实体代理数量。我们还需要实体代理的总数,以便在我们发出单独请求的分页 UI 中显示。我们想创建一些包装器对象,它将列表和总记录计数封装在单个类中。因此,在单个请求中,我们可以同时获得列表和记录计数。使用请求工厂最好做什么?注意:我是GWT RequestFactory的初学者。

Umit 的回答非常正确。我只会添加一个抽象分页处理的层。当您拥有BasicTables和BasicLists通过同一接口PageProxy处理所有数据时,这很有用(例如,用于分页(

public interface PaginationInfo extends ValueProxy {
    public int getTotalRecords();
    //either have the manual page info
    public int getPageNumber();
    //or use the count API on GAE (returned by your db request as a web safe String)
    public String getCount();
}
public interface PageProxy extends ValueProxy {
    public PaginationInfo getPageInfo();
}
public interface MyEntityProxy extends EntityProxy  {}
public interface MyEntityPageProxy extends PageProxy {
    public List<MyEntityProxy> getEntities();
}

好吧,你可以按照这样的思路使用一些东西:

public interface MyEntityProxy extends EntityProxy  {}
public interface MyEntityPageProxy extends ValueProxy {
    public List<MyEntityProxy> getEntities();
    public int getTotalRecords();
}
最好

使用通用PageProxy接口(即 MyEntityPageProxy<T extends EntityProxy> ( 但是由于此错误,这是不可能的,或者至少只能通过解决方法。

因此,对于您想要获得分页支持的每个EntityProxy,您必须创建一个单独的PageProxy界面。

最新更新