/** * @see org.apache.wicket.markup.html.navigation.paging.IPageable#setCurrentPage(long) */ @Override public final void setCurrentPage(long page) { if (currentPage != page) { if (isVersioned()) { addStateChange(); } } currentPage = page; }
/** @see org.apache.wicket.Component#Component(String) */ public AbstractPageableView(String id) { super(id); clearCachedItemCount(); }
/** * @return total item count */ public final int getRowCount() { if (!isVisibleInHierarchy()) { return 0; } if (isItemCountCached()) { return getCachedItemCount(); } int count = internalGetItemCount(); setCachedItemCount(count); return count; }
/** * @return the index of the first visible item in the view */ public long getFirstItemOffset() { return getCurrentPage() * getItemsPerPage(); }
/** * @return the index of the first visible item */ protected int getViewOffset() { return getCurrentPage() * internalGetRowsPerPage(); }
/** * Sets the maximum number of items to show per page. The current page will also be set to zero * * @param items */ public final void setItemsPerPage(long items) { if (items < 1) { throw new IllegalArgumentException("Argument [itemsPerPage] cannot be less than 1"); } if (itemsPerPage != items) { if (isVersioned()) { addStateChange(); } } itemsPerPage = items; // because items per page can effect the total number of pages we always // reset the current page back to zero setCurrentPage(0); }
if (page != 0 && (page < 0 || (page >= getPageCount() && getPageCount() > 0))) getPageCount()); if (isVersioned()) addStateChange(new Change()
/** * This method retrieves the subset of models for items in the current page and allows * RefreshingView to generate items. * * @return iterator over models for items in the current page */ protected Iterator getItemModels() { int offset = getViewOffset(); int size = getViewSize(); Iterator models = getItemModels(offset, size); models = new CappedIteratorAdapter(models, size); return models; }
/** * @return the number of items visible */ protected int getViewSize() { return Math.min(internalGetRowsPerPage(), getRowCount() - getViewOffset()); }
/** * This method retrieves the subset of models for items in the current page and allows * RefreshingView to generate items. * * @return iterator over models for items in the current page */ @Override protected Iterator<IModel<T>> getItemModels() { long offset = getFirstItemOffset(); long size = getViewSize(); Iterator<IModel<T>> models = getItemModels(offset, size); models = new CappedIteratorAdapter<T>(models, size); return models; }
/** * @return the number of items visible */ public long getViewSize() { return Math.min(getItemsPerPage(), getRowCount() - getFirstItemOffset()); }
/** * @see org.apache.wicket.markup.html.navigation.paging.IPageable#getPageCount() */ public final int getPageCount() { int total = getRowCount(); int page = internalGetRowsPerPage(); int count = total / page; if (page * count < total) { count++; } return count; }
/** * @see org.apache.wicket.markup.html.navigation.paging.IPageable#getCurrentPage() */ @Override public final long getCurrentPage() { long page = currentPage; /* * trim current page if its out of bounds this can happen if items are added/deleted between * requests */ if (page > 0 && page >= getPageCount()) { page = Math.max(getPageCount() - 1, 0); currentPage = page; return page; } return page; }
/** * @see org.apache.wicket.markup.html.navigation.paging.IPageable#getPageCount() */ @Override public long getPageCount() { long total = getRowCount(); long itemsPerPage = getItemsPerPage(); long count = total / itemsPerPage; if (itemsPerPage * count < total) { count++; } return count; }
/** * Sets the maximum number of items to show per page. The current page will also be set to zero * * @param items */ @Override public final void setItemsPerPage(long items) { if (items < 1) { throw new IllegalArgumentException("Argument [itemsPerPage] cannot be less than 1"); } if (itemsPerPage != items) { if (isVersioned()) { addStateChange(); } } itemsPerPage = items; // because items per page can effect the total number of pages we always // reset the current page back to zero setCurrentPage(0); }
/** * This method retrieves the subset of models for items in the current page * and allows RefreshingView to generate items. * * @return iterator over models for items in the current page */ @Override protected Iterator<IModel<T>> getItemModels() { int offset = getViewOffset(); int size = getViewSize(); Iterator<IModel<T>> models = getItemModels(offset, size); models = new CappedIteratorAdapter<T>(models, size); return models; }
/** * @return the number of items visible */ protected int getViewSize() { return Math.min(internalGetRowsPerPage(), getRowCount() - getViewOffset()); }
/** * This method retrieves the subset of models for items in the current page and allows * RefreshingView to generate items. * * @return iterator over models for items in the current page */ @Override protected Iterator<IModel<T>> getItemModels() { long offset = getFirstItemOffset(); long size = getViewSize(); Iterator<IModel<T>> models = getItemModels(offset, size); models = new CappedIteratorAdapter<T>(models, size); return models; }
/** * @return the number of items visible */ public long getViewSize() { return Math.min(getItemsPerPage(), getRowCount() - getFirstItemOffset()); }
/** * @return the index of the first visible item */ protected int getViewOffset() { return getCurrentPage() * internalGetRowsPerPage(); }