2,6 → 2,7 |
|
public class CollectionInfo |
{ |
/** total number of rows in list */ |
private int size; |
|
public int getSize() |
12,5 → 13,85 |
public void setSize(int size) |
{ |
this.size = size; |
recalc(); |
} |
|
/** current selected page */ |
private int currentPage; |
|
protected int normPage(int page) |
{ |
if(totalPages <= 0 || page <= 0) |
return 0; |
else if(page < totalPages) |
return page; |
else |
return (totalPages - 1); |
} |
|
public int getCurrentPage() |
{ |
return normPage(currentPage); |
} |
|
public void setCurrentPage(int currentPage) |
{ |
this.currentPage = currentPage; |
} |
|
/** number of rows on one page */ |
private int rowsPerPage; |
|
public int getRowsPerPage() |
{ |
return rowsPerPage; |
} |
|
public void setRowsPerPage(int rowsPerPage) |
{ |
this.rowsPerPage = rowsPerPage; |
recalc(); |
} |
|
/** total number of pages */ |
private int totalPages; |
|
public int getTotalPages() |
{ |
return totalPages; |
} |
|
public int getFirstPage() |
{ |
return 0; |
} |
|
public int getLastPage() |
{ |
return normPage(totalPages - 1); |
} |
|
public int getPrevPage() |
{ |
return normPage(currentPage - 1); |
} |
|
public int getNextPage() |
{ |
return normPage(currentPage + 1); |
} |
|
protected void recalc() |
{ |
if(rowsPerPage > 0) |
totalPages = (int)Math.ceil((double)size / rowsPerPage); |
} |
|
public void init(int size, int currentPage, int rowsPerPage) |
{ |
this.size = size; |
this.currentPage = currentPage; |
this.rowsPerPage = rowsPerPage; |
recalc(); |
} |
} |