@Override public ResultPage fetchAndGetNextPage() throws BrowseException { return fetcher.fetchAndGetNextPage(); }
@Override public void fetchFirst() throws BrowseException { fetcher.fetchFirst(); }
@Override public void fetchLast() throws BrowseException { fetcher.fetchLast(); }
public FetcherIterator(Fetcher f, int pageSize) throws BrowseException { this.fetcher = f; fetcher.setPageSize(pageSize); currentPage = fetcher.getPage(); }
Cookie c = token.getCookie(); Fetcher f = browser.restoreFetcher(c); f.setPageSize(token.getPageSize()); int pn = token.getPageNumber(); switch (selector) { break; case PREVIOUS: f.fetchPrevious(); pn--; break; case NEXT: f.fetchNext(); pn++; break; case FIRST: f.fetchFirst(); pn = 0; break; case LAST: f.fetchLast(); pn = -1; break;
public int gotoPage(int pageNumber) throws BrowseException { final int itemsPerPage = getItemsPerPage(); fetcher.setPageSize(itemsPerPage); if (pageNumber < 0) { pageNumber = 0; } else if (fetcher.getEstimatedCount() != -1) { final int numberOfPages = fetcher.getEstimatedCount() / itemsPerPage + (fetcher.getEstimatedCount() % itemsPerPage > 0 ? 1 : 0); if (pageNumber >= numberOfPages) { pageNumber = numberOfPages - 1; } } final int moveBy = pageNumber - currentPageNumber; if (moveBy != 0) { if (moveBy > 1) { fetcher.fetchNext((moveBy - 1) * itemsPerPage); // fetcher.fetchNext(itemsPerPage); } else if (moveBy < -1) { fetcher.fetchPrevious((-moveBy - 1) * itemsPerPage); // fetcher.fetchPrevious(itemsPerPage); } else if (moveBy == 1) { fetcher.fetchNext(); } else if (moveBy == -1) { fetcher.fetchPrevious(); } } return pageNumber; }
public FetcherPageIterator(Fetcher f, int nextPageSize) throws BrowseException { this.fetcher = f; this.nextPageSize = nextPageSize; nextPage = fetcher.getPage(); }
@Override public int getEstimatedCount() { return fetcher.getEstimatedCount(); }
@Override public Cookie getCookie() { return fetcher.getCookie(); }
@Override public void fetchNext() throws BrowseException { fetcher.fetchNext(); }
@Override public void fetchPrevious() throws BrowseException { fetcher.fetchPrevious(); }
@Override public void setPageSize(int pageSize) { this.fetcher.setPageSize(pageSize); }
@Override public boolean isEstimatedCountAvailable() { return fetcher.isEstimatedCountAvailable(); }
@Override public ResultPage getPage() throws BrowseException { ResultPage page = fetcher.getPage(); return processor == null ? page : processor.proccessPage(page); }
@Override public int count() { return fetcher.getEstimatedCount(); }
protected PagingResponse<T> processSelection(Selection sel, String relation, int pageSize, Object[] extraData) throws BrowseException, ServiceException { int ps = pageSize > 0 ? pageSize : BUFFER_PAGE_SIZE; Fetcher fetcher = browser.relation(relation, new String[] {ViewConstants.TAG_READY}) .withPageSize(ps) .select(sel); List<T> li = decodeResultPage(fetcher, ps, extraData); Token t = new Token(fetcher.getCookie(), encodeExtraData(extraData), 0, ps); t.setHasNextPage(li.size() >= ps); PagingResponse<T> res = new PagingResponse<T>(li, t); return res; }
@Override public void fetchNext(int skip) throws BrowseException { fetcher.fetchNext(skip); }
@Override public void fetchPrevious(int skip) throws BrowseException { fetcher.fetchPrevious(skip); }
elementsPage = browseElements(ids.size(), ids).getPage(); } catch (BrowseException e) { throw new SystemException(Modules.BROWSER, "Error when accessing page of elements", e);