DREAMFIRE
Docs
← Back to site
Loading...
Searching...
No Matches
Pagination.java
Go to the documentation of this file.
1
package
com.dreamfirestudios.dreamcore.DreamSmartInvs.content;
2
3
import
com.dreamfirestudios.dreamcore.DreamSmartInvs.ClickableItem;
4
5
import
java.util.Arrays;
6
7
public
interface
Pagination
{
8
9
ClickableItem
[]
getPageItems
();
10
11
int
getPage
();
12
Pagination
page
(
int
page
);
13
14
boolean
isFirst
();
15
boolean
isLast
();
16
17
Pagination
first
();
18
Pagination
previous
();
19
Pagination
next
();
20
Pagination
last
();
21
22
Pagination
addToIterator
(
SlotIterator
iterator);
23
24
Pagination
setItems
(
ClickableItem
... items);
25
Pagination
setItemsPerPage
(
int
itemsPerPage);
26
27
28
class
Impl
implements
Pagination
{
29
30
private
int
currentPage;
31
32
private
ClickableItem
[] items =
new
ClickableItem
[0];
33
private
int
itemsPerPage = 5;
34
35
@Override
36
public
ClickableItem
[]
getPageItems
() {
37
return
Arrays.copyOfRange(items,
38
currentPage * itemsPerPage,
39
(currentPage + 1) * itemsPerPage);
40
}
41
42
@Override
43
public
int
getPage
() {
44
return
this.currentPage;
45
}
46
47
@Override
48
public
Pagination
page
(
int
page
) {
49
this.currentPage =
page
;
50
return
this
;
51
}
52
53
@Override
54
public
boolean
isFirst
() {
55
return
this.currentPage == 0;
56
}
57
58
@Override
59
public
boolean
isLast
() {
60
int
pageCount = (int) Math.ceil((
double
) this.items.length / this.itemsPerPage);
61
return
this.currentPage >= pageCount - 1;
62
}
63
64
@Override
65
public
Pagination
first
() {
66
this.currentPage = 0;
67
return
this
;
68
}
69
70
@Override
71
public
Pagination
previous
() {
72
if
(!
isFirst
())
73
this.currentPage--;
74
75
return
this
;
76
}
77
78
@Override
79
public
Pagination
next
() {
80
if
(!
isLast
())
81
this.currentPage++;
82
83
return
this
;
84
}
85
86
@Override
87
public
Pagination
last
() {
88
this.currentPage = this.items.length / this.itemsPerPage;
89
return
this
;
90
}
91
92
@Override
93
public
Pagination
addToIterator
(
SlotIterator
iterator) {
94
for
(
ClickableItem
item :
getPageItems
()) {
95
iterator.
next
().
set
(item);
96
97
if
(iterator.
ended
())
98
break
;
99
}
100
101
return
this
;
102
}
103
104
@Override
105
public
Pagination
setItems
(
ClickableItem
... items) {
106
this.items = items;
107
return
this
;
108
}
109
110
@Override
111
public
Pagination
setItemsPerPage
(
int
itemsPerPage) {
112
this.itemsPerPage = itemsPerPage;
113
return
this
;
114
}
115
116
}
117
118
}
com.dreamfirestudios.dreamcore.DreamSmartInvs.ClickableItem
Definition
ClickableItem.java:8
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl
Definition
Pagination.java:28
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.getPageItems
ClickableItem[] getPageItems()
Definition
Pagination.java:36
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.isFirst
boolean isFirst()
Definition
Pagination.java:54
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.page
Pagination page(int page)
Definition
Pagination.java:48
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.addToIterator
Pagination addToIterator(SlotIterator iterator)
Definition
Pagination.java:93
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.last
Pagination last()
Definition
Pagination.java:87
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.isLast
boolean isLast()
Definition
Pagination.java:59
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.setItemsPerPage
Pagination setItemsPerPage(int itemsPerPage)
Definition
Pagination.java:111
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.getPage
int getPage()
Definition
Pagination.java:43
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.first
Pagination first()
Definition
Pagination.java:65
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.previous
Pagination previous()
Definition
Pagination.java:71
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.next
Pagination next()
Definition
Pagination.java:79
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.Impl.setItems
Pagination setItems(ClickableItem... items)
Definition
Pagination.java:105
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination
Definition
Pagination.java:7
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.previous
Pagination previous()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.page
Pagination page(int page)
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.last
Pagination last()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.isLast
boolean isLast()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.isFirst
boolean isFirst()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.setItems
Pagination setItems(ClickableItem... items)
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.next
Pagination next()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.getPage
int getPage()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.first
Pagination first()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.setItemsPerPage
Pagination setItemsPerPage(int itemsPerPage)
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.addToIterator
Pagination addToIterator(SlotIterator iterator)
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.Pagination.getPageItems
ClickableItem[] getPageItems()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.SlotIterator
Definition
SlotIterator.java:10
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.SlotIterator.next
SlotIterator next()
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.SlotIterator.set
SlotIterator set(ClickableItem item)
com.dreamfirestudios.dreamcore.DreamSmartInvs.content.SlotIterator.ended
boolean ended()
src
main
java
com
dreamfirestudios
dreamcore
DreamSmartInvs
content
Pagination.java
© Dreamfire Studios — Generated by Doxygen 1.9.8