-
Notifications
You must be signed in to change notification settings - Fork 311
/
Copy pathPageAssist.java
239 lines (205 loc) · 5.09 KB
/
PageAssist.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
package dev.assist;
import dev.base.DevPage;
import dev.base.state.RequestState;
/**
* detail: Page 辅助类
* @author Ttt
*/
public class PageAssist<T>
extends RequestState<T> {
// 全局页数配置
public static int DEF_PAGE = DevPage.DEF_PAGE;
// 全局每页请求条数配置
public static int DEF_PAGE_SIZE = DevPage.DEF_PAGE_SIZE;
// Page Object
private final DevPage<T> mPage;
public PageAssist() {
this(DEF_PAGE, DEF_PAGE_SIZE);
}
public PageAssist(final DevPage.PageConfig pageConfig) {
this(pageConfig.page, pageConfig.pageSize);
}
public PageAssist(
final int page,
final int pageSize
) {
super();
mPage = new DevPage<>(page, pageSize);
}
// =
/**
* 初始化全局分页配置
* @param page 页数
* @param pageSize 每页请求条数
*/
public static void initPageConfig(
final int page,
final int pageSize
) {
PageAssist.DEF_PAGE = page;
PageAssist.DEF_PAGE_SIZE = pageSize;
}
/**
* 重置操作
* @return {@link PageAssist}
*/
public PageAssist<T> reset() {
mPage.reset();
setRequestNormal();
return this;
}
// =============
// = 对外公开方法 =
// =============
/**
* 获取当前页数
* @return 当前页数
*/
public int getPage() {
return mPage.getPage();
}
/**
* 设置当前页数
* @param page 当前页数
* @return {@link PageAssist}
*/
public PageAssist<T> setPage(final int page) {
mPage.setPage(page);
return this;
}
/**
* 判断当前页数是否一致
* @param page 待校验当前页数
* @return {@code true} yes, {@code false} no
*/
public boolean equalsPage(final int page) {
return mPage.equalsPage(page);
}
// =
/**
* 获取页数配置信息
* @return {@link DevPage.PageConfig}
*/
public DevPage.PageConfig getConfig() {
return mPage.getConfig();
}
/**
* 获取配置初始页页数
* @return 初始页页数
*/
public int getConfigPage() {
return mPage.getConfigPage();
}
/**
* 获取配置每页请求条数
* @return 每页请求条数
*/
public int getConfigPageSize() {
return mPage.getConfigPageSize();
}
// =
/**
* 获取每页请求条数
* @return 每页请求条数
*/
public int getPageSize() {
return mPage.getPageSize();
}
/**
* 判断每页请求条数是否一致
* @param pageSize 待校验每页请求条数
* @return {@code true} yes, {@code false} no
*/
public boolean equalsPageSize(final int pageSize) {
return mPage.equalsPageSize(pageSize);
}
// =
/**
* 判断是否最后一页
* @return {@code true} yes, {@code false} no
*/
public boolean isLastPage() {
return mPage.isLastPage();
}
/**
* 设置是否最后一页
* @param lastPage 是否最后一页
* @return {@link PageAssist}
*/
public PageAssist<T> setLastPage(final boolean lastPage) {
mPage.setLastPage(lastPage);
return this;
}
/**
* 计算是否最后一页 ( 并同步更新 )
* @param size 数据条数
* @return {@link PageAssist}
*/
public PageAssist<T> calculateLastPage(final int size) {
mPage.calculateLastPage(size);
return this;
}
// ==========
// = 快捷方法 =
// ==========
/**
* 判断是否第一页
* @return {@code true} yes, {@code false} no
*/
public boolean isFirstPage() {
return mPage.isFirstPage();
}
/**
* 判断是否允许请求下一页
* @return {@code true} yes, {@code false} no
*/
public boolean canNextPage() {
return mPage.canNextPage();
}
/**
* 获取下一页页数
* @return 下一页页数
*/
public int getNextPage() {
return mPage.getNextPage();
}
/**
* 累加当前页数 ( 下一页 )
* @return {@link PageAssist}
*/
public PageAssist<T> nextPage() {
mPage.nextPage();
return this;
}
/**
* 判断是否小于每页请求条数
* @param size 数据条数
* @return {@code true} yes, {@code false} no
*/
public boolean isLessThanPageSize(final int size) {
return mPage.isLessThanPageSize(size);
}
// =
/**
* 请求响应处理
* @param refresh 是否刷新操作
* @return {@link PageAssist}
*/
public PageAssist<T> response(final boolean refresh) {
mPage.response(refresh);
return this;
}
/**
* 请求响应处理
* @param refresh 是否刷新操作
* @param lastPage 是否最后一页
* @return {@link PageAssist}
*/
public PageAssist<T> response(
final boolean refresh,
final boolean lastPage
) {
mPage.response(refresh, lastPage);
return this;
}
}