@Override public <T> long getCount(final Query<T> query, final CountOptions options) { return query.count(options); }
@Override public <T> long getCount(final Query<T> query) { return query.count(); }
@Override public long count(CountOptions countOptions) { return mq.count(countOptions); }
@Override public long count(CollectionId collectionId) { return createQuery(collectionId) .count(); }
@Override public boolean hasPermission(@Nonnull Subject subject, @Nonnull Resource resource, @Nonnull ActionId actionId) { Query<RoleAssignment> query = withUserOrAnyUserAndTarget(subject, resource) .field(ACTION_CLOSURE).equal(actionId.getId()); return query.count(new CountOptions().limit(1)) == 1; }
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); }