@Override @Deprecated public Query<T> offset(final int value) { getOptions().skip(value); return this; }
private Page<LogTrace> preparePage(Query<LogTrace> query, Integer page, Integer limit) { List<LogTrace> list; Long totalElements = query.count(); query = query.order("-ts"); page = page == null ? PAGE : page; limit = limit == null || limit > LIMIT ? LIMIT : limit; if (page >= 1 && limit > 0) { list = query.asList(new FindOptions().limit(limit).skip(page * limit)); } else { list = query.asList(new FindOptions().limit(limit)); } return buildPage(list, page, limit, totalElements); }
@Override public <T> Page<T> find(Object criteria, Integer page, Integer limit) { Query<T> query = this.prepareQuery(criteria, this.datastore()); List<T> list; Long totalElements = query.count(); page = page == null ? PAGE : page; limit = limit == null || limit > LIMIT ? LIMIT : limit; if (page >= 1 && limit > 0) { list = query.asList(new FindOptions().limit(limit).skip(page * limit)); } else { list = query.asList(new FindOptions().limit(limit)); } return buildPage(list, page, limit, totalElements); }
@Override public <T> Page<T> find(Object criteria, Integer page, Integer limit) { Query<T> query = this.prepareQuery(criteria, this.datastore()); List<T> list; Long totalElements = query.count(); page = page == null ? PAGE : page; limit = limit == null || limit > LIMIT ? LIMIT : limit; if (page >= 1 && limit > 0) { list = query.asList(new FindOptions().limit(limit).skip(page * limit)); } else { list = query.asList(new FindOptions().limit(limit)); } return buildPage(list, page, limit, totalElements); }