📄 cachedpager.java
字号:
/*
* Created on 2005/11/13
*/
package com.leeman.common.web.ui;
import java.io.Serializable;
/**
* @author dennis
*/
public class CachedPager implements Serializable{
private int maxRecordReached;
private int pageRecordStart;
private int pageRecordSize;
private int cacheRecordStart;
private int cacheRecordSize;
private int currentCacheRecordSize;
private boolean isTotalRecordReached;
public CachedPager(){
maxRecordReached = 0;
pageRecordStart = 0;
pageRecordSize = 10;
cacheRecordStart = 0;
cacheRecordSize = 50;
currentCacheRecordSize = 0;
isTotalRecordReached = false;
}
public int calcCacheRecordStart()
{
int start = pageRecordStart - Math.round(cacheRecordSize / 2);
if (start < 0)
{
start = 0;
}
return start;
}
public void setCachedRange(int cacheRecordStart, int currentCacheRecordSize){
this.cacheRecordStart = cacheRecordStart;
this.currentCacheRecordSize = currentCacheRecordSize;
if (currentCacheRecordSize < cacheRecordSize){
isTotalRecordReached = true;
}
if (cacheRecordStart + currentCacheRecordSize - 1 > maxRecordReached)
{
maxRecordReached = cacheRecordStart + currentCacheRecordSize - 1;
}
}
public boolean isTotalRecordReached(){
return isTotalRecordReached;
}
public boolean isNextPage(){
if (isTotalRecordReached){
return (maxRecordReached >= (pageRecordStart + pageRecordSize));
}
else
{
return true;
}
}
public int getPageEnd(){
return (pageRecordStart + pageRecordSize > maxRecordReached)?(maxRecordReached):(pageRecordStart + pageRecordSize - 1);
}
public boolean isPrevPage(){
return pageRecordStart > 0;
}
public int getNextPageStart(){
return pageRecordStart + pageRecordSize;
}
public boolean isNextPageCached(){
// System.out.println("Next Page Start: " + getNextPageStart());
// System.out.println("Cache Record Start Start: " + cacheRecordStart);
// System.out.println("Cache Record Size: " + cacheRecordSize);
return getNextPageStart() >= cacheRecordStart &&
getNextPageStart() + pageRecordSize <= cacheRecordStart + cacheRecordSize;
}
public int getPrevPageStart(){
if (pageRecordStart - pageRecordSize > 0){
return pageRecordStart - pageRecordSize;
}
else{
return 0;
}
}
public boolean isPrevPageCached(){
return getPrevPageStart() >= cacheRecordStart &&
getPrevPageStart() + pageRecordSize <= cacheRecordStart + cacheRecordSize;
}
public int getCacheOffset(){
return pageRecordStart - cacheRecordStart;
}
/**
* @return
*/
public int getCacheRecordSize() {
return cacheRecordSize;
}
/**
* @return
*/
public int getCacheRecordStart() {
return cacheRecordStart;
}
/**
* @return
*/
public int getPageRecordSize() {
return pageRecordSize;
}
/**
* @return
*/
public int getPageRecordStart() {
return pageRecordStart;
}
/**
* @param i
*/
public void setCacheRecordSize(int i) {
cacheRecordSize = i;
}
/**
* @param i
*/
public void setPageRecordSize(int i) {
pageRecordSize = i;
}
/**
* @param i
*/
public void setPageRecordStart(int i) {
pageRecordStart = i;
}
/**
* @return
*/
public int getCurrentCacheRecordSize() {
return currentCacheRecordSize;
}
/**
* @return
*/
public int getMaxRecordReached() {
return maxRecordReached;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -