Pager

import java.util.ArrayList;
import java.util.List;
public class Pager {
public int currentPage = 0;
private int nextPage;
private int previousPage;
private int fristPage;
public int lastPage;
private int pageSize = 10;
private int record_cnt = 67;
public List<String> currentRecords;
public List<String> allRecords;

public Pager(List<String> _allRecords, int _pageSize) {
this.pageSize = _pageSize;
allRecords = _allRecords;
record_cnt = allRecords.size();
lastPage = this.record_cnt / this.pageSize + 1;
}

public int getCurrentPage() {
return currentPage;
}

private int getNextPageNum() {
if (currentPage < lastPage) {
nextPage = currentPage + 1;
} else {
nextPage = lastPage;
}
return nextPage;
}

public List<String> getJumpPageRecords(int jumpPage) {
if (jumpPage >= this.lastPage) {
return this.getLastPageRecords();
} else if (jumpPage <= this.fristPage) {
return this.getFirstPageRecords();
} else {
this.currentRecords = new ArrayList<String>();
for (int i = (jumpPage - 1) * pageSize; i < jumpPage * pageSize; i++) {
this.currentRecords.add(this.allRecords.get(i));
}
this.currentPage = jumpPage;
return currentRecords;
}

}

public List<String> getNextPageRecords() {
getNextPageNum();
if (this.currentPage == lastPage) {
System.out.println("Already was the last page!!!");
return null;
}
if (nextPage == this.lastPage) {
return this.getLastPageRecords();
} else {
this.currentRecords = new ArrayList<String>();
for (int i = currentPage * pageSize; i < nextPage * pageSize; i++) {
this.currentRecords.add(this.allRecords.get(i));
}
currentPage = nextPage;
return currentRecords;
}

}

public List<String> getPreviousPageRecords() {
this.getPreviousPage();
if (this.currentPage == 1) {
System.out.println("Already was the first page!!!");
return null;
}
if (previousPage == 1) {
return this.getFirstPageRecords();
} else {
this.currentRecords = new ArrayList<String>();
for (int i = (previousPage - 1) * pageSize; i < previousPage
* pageSize; i++) {
this.currentRecords.add(this.allRecords.get(i));
}
currentPage = previousPage;
return currentRecords;
}
}

public List<String> getFirstPageRecords() {
if (lastPage == 1) {
return this.allRecords;
} else {
this.currentRecords = new ArrayList<String>();
for (int i = 0; i < this.pageSize; i++) {
this.currentRecords.add(allRecords.get(i));
}
this.currentPage = 1;
return currentRecords;
}
}

public List<String> getLastPageRecords() {
if (lastPage == 1) {
return this.allRecords;
} else {
this.currentRecords = new ArrayList<String>();
for (int i = (lastPage - 1) * pageSize; i < this.record_cnt; i++) {
this.currentRecords.add(allRecords.get(i));
}
this.currentPage = lastPage;
return currentRecords;
}
}

private int getPreviousPage() {
if (this.currentPage > 1) {
previousPage = currentPage - 1;
} else {
previousPage = 1;
}
return previousPage;
}

public int getFristPage() {
fristPage = 0;
return fristPage;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

// public List<String>
public static void main(String[] args) {
List<String> pageRecords = new ArrayList<String>();
for (int i = 1; i <= 59; i++) {
pageRecords.add("-+-" + i + "---");
}
Pager p = new Pager(pageRecords, 5);
System.out.println("all: " + p.lastPage);
List<String> r = p.getJumpPageRecords(2);
if (r != null) {
for (String a : r) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}

List<String> r2 = p.getNextPageRecords();
if (r2 != null) {
for (String a : r2) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}

List<String> r3 = p.getNextPageRecords();
if (r3 != null) {
for (String a : r3) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}

List<String> r4 = p.getPreviousPageRecords();
if (r4 != null) {
for (String a : r4) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}

List<String> r5 = p.getFirstPageRecords();
if (r5 != null) {
for (String a : r5) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
List<String> r6 = p.getLastPageRecords();
if (r6 != null) {
for (String a : r6) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}

List<String> r7 = p.getNextPageRecords();
if (r7 != null) {
for (String a : r7) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
List<String> r8 = p.getFirstPageRecords();
if (r8 != null) {
for (String a : r8) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
List<String> r9 = p.getPreviousPageRecords();
if (r9 != null) {
for (String a : r9) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
for (int i = 0; i < 17; i++) {
List<String> r12 = p.getNextPageRecords();
if (r12 != null) {
for (String a : r12) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
}
for (int i = 0; i < 12; i++) {
List<String> r12 = p.getPreviousPageRecords();
if (r12 != null) {
for (String a : r12) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
}
List<String> r11 = p.getJumpPageRecords(9);
if (r11 != null) {
for (String a : r11) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
for (int i = 0; i < 19; i++) {
List<String> r12 = p.getPreviousPageRecords();
if (r12 != null) {
for (String a : r12) {
System.out.print(a + " | ");
}
System.out.println();
System.out.println("--------current page is :" + p.currentPage
+ " --------");
}
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值