comparison src/main/java/de/mpiwg/web/jsp/DataPaginator.java @ 0:3e62083dbcbf

First commit. This project comes from LGServer. We removed the framework icefaces. Now, LGServices uses just JSP and jquery.
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Thu, 23 Apr 2015 15:46:01 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:3e62083dbcbf
1 package de.mpiwg.web.jsp;
2 import java.text.MessageFormat;
3
4 public class DataPaginator {
5
6 private int itemsPerPage = 100;
7 private int rewindFastForwardBy = 10;
8
9 private int currentPage;
10 private int numberOfPages;
11
12 private String recordStatus;
13
14 public void first(){
15 this.currentPage = 0;
16 }
17
18 public void last(){
19 this.currentPage = this.numberOfPages -1;
20 }
21
22 public void fastRewind () {
23 this.rewind(this.rewindFastForwardBy);
24 }
25
26 private void rewind (int aRewindFastForwardBy) {
27 int newPageNumber = currentPage - aRewindFastForwardBy;
28 if (newPageNumber < 0) {
29 currentPage = 0;
30 } else {
31 currentPage = newPageNumber;
32 }
33 }
34
35 public void goToPage(int newPageNumber){
36 if (newPageNumber > this.numberOfPages -1) {
37 currentPage = this.numberOfPages -1;
38 } else if(newPageNumber < 0 ){
39 currentPage = 0;
40 }else{
41 currentPage = newPageNumber;
42 }
43
44 }
45
46 private void forward (int aRewindFastForwardBy) {
47 int newPageNumber = currentPage + aRewindFastForwardBy;
48 if (newPageNumber > this.numberOfPages - 1) {
49 currentPage = this.numberOfPages -1;
50 } else {
51 currentPage = newPageNumber;
52 }
53 }
54
55 public void previous () {
56 this.rewind(1);
57 }
58
59 public void next () {
60 this.forward(1);
61 }
62
63 public void fastForward () {
64 this.forward(this.rewindFastForwardBy);
65 }
66
67 public void initCount() {
68 if (currentPage > numberOfPages) {
69 currentPage=numberOfPages;
70 }
71 }
72
73 public int getNumberOfPages() {
74 return numberOfPages;
75 }
76
77 public void setNumberOfPages(int numberOfPages) {
78 this.numberOfPages = numberOfPages;
79 }
80
81 public void resetNumberOfPages(int itemsTotal){
82 int numberOfPages = (itemsTotal
83 % this.getItemsPerPage() == 0) ?
84 itemsTotal
85 / this.getItemsPerPage() :
86 (itemsTotal
87 / this.getItemsPerPage()) + 1;
88 this.setNumberOfPages(numberOfPages);
89 }
90
91 public int getCurrentPage() {
92 return currentPage;
93 }
94
95 public void setCurrentPage(int currentPage) {
96 this.currentPage = currentPage;
97 }
98
99 public String getRecordStatus () {
100 this.recordStatus = MessageFormat.format("{0} of {1}",
101 new Object []{
102 Integer.valueOf(currentPage + 1),
103 Integer.valueOf(numberOfPages)
104 });
105 return recordStatus;
106 }
107
108 public void setRecordStatus(String recordStatus) {
109 this.recordStatus = recordStatus;
110 }
111
112 public int getItemsPerPage() {
113 return itemsPerPage;
114 }
115
116 public void setItemsPerPage(int itemsPerPage) {
117 this.itemsPerPage = itemsPerPage;
118 }
119
120 public int getRewindFastForwardBy() {
121 return rewindFastForwardBy;
122 }
123
124 public void setRewindFastForwardBy(int rewindFastForwardBy) {
125 this.rewindFastForwardBy = rewindFastForwardBy;
126 }
127 }