Added UI (JSF) and JPA to bayesian network entities.
[simdecs.git] / src / java / org / ufcspa / simdecs / bn / ui / util / PaginationHelper.java
CommitLineData
c547eea0
MS
1package org.ufcspa.simdecs.bn.ui.util;
2
3import javax.faces.model.DataModel;
4
5public abstract class PaginationHelper {
6
7 private int pageSize;
8 private int page;
9
10 public PaginationHelper(int pageSize) {
11 this.pageSize = pageSize;
12 }
13
14 public abstract int getItemsCount();
15
16 public abstract DataModel createPageDataModel();
17
18 public int getPageFirstItem() {
19 return page * pageSize;
20 }
21
22 public int getPageLastItem() {
23 int i = getPageFirstItem() + pageSize - 1;
24 int count = getItemsCount() - 1;
25 if (i > count) {
26 i = count;
27 }
28 if (i < 0) {
29 i = 0;
30 }
31 return i;
32 }
33
34 public boolean isHasNextPage() {
35 return (page + 1) * pageSize + 1 <= getItemsCount();
36 }
37
38 public void nextPage() {
39 if (isHasNextPage()) {
40 page++;
41 }
42 }
43
44 public boolean isHasPreviousPage() {
45 return page > 0;
46 }
47
48 public void previousPage() {
49 if (isHasPreviousPage()) {
50 page--;
51 }
52 }
53
54 public int getPageSize() {
55 return pageSize;
56 }
57}