package marubinotto.util.paging;
import java.util.AbstractList;
public abstract class AbstractPage<E> extends AbstractList<E> implements Page<E> {
public AbstractPage() {
}
public int getPageCount() {
return PageUtils.calculatePageCount(getTotalSize(), getPageSize());
}
public int getIndexOfFirstElement() {
if (this.size() == 0) {
return -1;
}
return getPageSize() * getPageIndex();
}
public int getIndexOfLastElement() {
if (this.size() == 0) {
return -1;
}
return (getIndexOfFirstElement() + this.size()) - 1;
}
public boolean isFirstPage() {
return getPageIndex() == 0;
}
public boolean isLastPage() {
if (getPageCount() == 0) {
return true;
}
return getPageIndex() == (getPageCount() - 1);
}
}