1 16 17 package org.javabb.infra; 18 19 import java.util.AbstractList ; 20 import java.util.List ; 21 22 import org.apache.commons.lang.builder.ToStringBuilder; 23 24 28 public class PagedList extends AbstractList { 29 private final List _pageItems; 30 private final int _pageNumber; 31 private final int _itemsPerPage; 32 private final int _totalItemCount; 33 34 40 public PagedList(List pageItems, int pageNumber, int itemsPerPage, int totalItemCount) { 41 this._pageItems = pageItems; 42 this._pageNumber = pageNumber; 43 this._itemsPerPage = itemsPerPage; 44 this._totalItemCount = totalItemCount; 45 } 46 47 50 public Object get(int index) { 51 return this._pageItems.get(index); 52 } 53 54 57 public int size() { 58 return this._pageItems.size(); 59 } 60 61 64 public List getPageItems() { 65 return _pageItems; 66 } 67 68 71 public int getPageNumber() { 72 return _pageNumber; 73 } 74 75 78 private int getItemsPerPage() { 79 return _itemsPerPage; 80 } 81 82 85 public int getTotalItemCount() { 86 return _totalItemCount; 87 } 88 89 92 public int getTotalPageCount() { 93 return (int) Math.ceil((double) getTotalItemCount() / getItemsPerPage()); 94 } 95 96 99 public boolean isFirstPage() { 100 return isFirstPage(getPageNumber()); 101 } 102 103 106 public boolean isLastPage() { 107 return isLastPage(getPageNumber()); 108 } 109 110 114 public boolean isFirstPage(int page) { 115 return page <= 1; 116 } 117 118 122 public boolean isLastPage(int page) { 123 return page >= getTotalPageCount(); 124 } 125 126 129 public String toString() { 130 return new ToStringBuilder(this).append(getPageItems()) 131 .append(getPageNumber()) 132 .append(getItemsPerPage()) 133 .append(getTotalItemCount()) 134 .toString(); 135 } 136 } 137 | Popular Tags |