Java GXT分页网格服务方法

Java GXT分页网格服务方法,java,gwt,pagination,gxt,Java,Gwt,Pagination,Gxt,GXT中有一个例子: 在这里我可以看到此方法的实现: service.getPosts(loadConfig, callback); 或任何其他类似服务,例如,此处- 。。。 @凌驾 公共PagingLoadResult getPosts(PagingLoadConfig配置){ if(posts==null){ 装载柱(); } 如果(config.getSortInfo().size()>0){ SortInfo sort=config.getSortInfo().get(0); if

GXT中有一个例子:
在这里我可以看到此方法的实现:

service.getPosts(loadConfig, callback);
或任何其他类似服务,例如,此处-

。。。
@凌驾
公共PagingLoadResult getPosts(PagingLoadConfig配置){
if(posts==null){
装载柱();
}
如果(config.getSortInfo().size()>0){
SortInfo sort=config.getSortInfo().get(0);
if(sort.getSortField()!=null){
最后一个字符串sortField=sort.getSortField();
if(sortField!=null){
Collections.sort(posts,sort.getSortDir().comparator(新的comparator()){
公共整数比较(p1后、p2后){
if(sortField.equals(“论坛”)){
返回p1.getForum().compareTo(p2.getForum());
}else if(sortField.equals(“用户名”)){
返回p1.getUsername().compareTo(p2.getUsername());
}else if(sortField.equals(“主体”)){
返回p1.getSubject().compareTo(p2.getSubject());
}else if(sortField.equals(“日期”)){
返回p1.getDate().compareTo(p2.getDate());
}
返回0;
}
}));
}
}
}
ArrayList子列表=新的ArrayList();
int start=config.getOffset();
int limit=posts.size();
如果(config.getLimit()>0){
limit=Math.min(start+config.getLimit(),limit);
}
对于(int i=config.getOffset();i
...
    @Override
    public PagingLoadResult<Post> getPosts(PagingLoadConfig config) {
        if (posts == null) {
            loadPosts();
        }

        if (config.getSortInfo().size() > 0) {
            SortInfo sort = config.getSortInfo().get(0);
            if (sort.getSortField() != null) {
                final String sortField = sort.getSortField();
                if (sortField != null) {
                    Collections.sort(posts, sort.getSortDir().comparator(new Comparator<Post>() {
                        public int compare(Post p1, Post p2) {
                            if (sortField.equals("forum")) {
                                return p1.getForum().compareTo(p2.getForum());
                            } else if (sortField.equals("username")) {
                                return p1.getUsername().compareTo(p2.getUsername());
                            } else if (sortField.equals("subject")) {
                                return p1.getSubject().compareTo(p2.getSubject());
                            } else if (sortField.equals("date")) {
                                return p1.getDate().compareTo(p2.getDate());
                            }
                            return 0;
                        }
                    }));
                }
            }
        }

        ArrayList<Post> sublist = new ArrayList<Post>();
        int start = config.getOffset();
        int limit = posts.size();
        if (config.getLimit() > 0) {
            limit = Math.min(start + config.getLimit(), limit);
        }
        for (int i = config.getOffset(); i < limit; i++) {
            sublist.add(posts.get(i));
        }
        return new PagingLoadResultBean<Post>(sublist, posts.size(), config.getOffset());
    }
...