1 /*
2 * Copyright 2012-2025 CodeLibs Project and the Others.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13 * either express or implied. See the License for the specific language
14 * governing permissions and limitations under the License.
15 */
16 package org.codelibs.fess.app.pager;
17
18 import java.io.Serializable;
19 import java.util.List;
20
21 import org.codelibs.fess.util.ComponentUtil;
22
23 /**
24 * Pager for label types.
25 */
26 public class LabelTypePager implements Serializable {
27
28 private static final long serialVersionUID = 1L;
29
30 /**
31 * Default constructor.
32 */
33 public LabelTypePager() {
34 // do nothing
35 }
36
37 /** The default page size. */
38 public static final int DEFAULT_PAGE_SIZE = 20;
39
40 /** The default current page number. */
41 public static final int DEFAULT_CURRENT_PAGE_NUMBER = 1;
42
43 /** The total number of records. */
44 private int allRecordCount;
45
46 /** The total number of pages. */
47 private int allPageCount;
48
49 /** Indicates if a previous page exists. */
50 private boolean existPrePage;
51
52 /** Indicates if a next page exists. */
53 private boolean existNextPage;
54
55 /** The list of page numbers. */
56 private List<Integer> pageNumberList;
57
58 /** The size of a page. */
59 private int pageSize;
60
61 /** The current page number. */
62 private int currentPageNumber;
63
64 /** The ID of the label type. */
65 public String id;
66
67 /** The name of the label type. */
68 public String name;
69
70 /** The value of the label type. */
71 public String value;
72
73 /** The sort order of the label type. */
74 public String sortOrder;
75
76 /** The creator of the label type. */
77 public String createdBy;
78
79 /** The created time of the label type. */
80 public String createdTime;
81
82 /** The version number of the label type. */
83 public String versionNo;
84
85 /**
86 * Clears the pager fields.
87 */
88 public void clear() {
89 allRecordCount = 0;
90 allPageCount = 0;
91 existPrePage = false;
92 existNextPage = false;
93 pageSize = getDefaultPageSize();
94 currentPageNumber = getDefaultCurrentPageNumber();
95
96 id = null;
97 name = null;
98 value = null;
99 sortOrder = null;
100 createdBy = null;
101 createdTime = null;
102 versionNo = null;
103
104 }
105
106 /**
107 * Returns the default current page number.
108 *
109 * @return The default current page number.
110 */
111 protected int getDefaultCurrentPageNumber() {
112 return DEFAULT_CURRENT_PAGE_NUMBER;
113 }
114
115 /**
116 * Returns the total number of records.
117 *
118 * @return The total number of records.
119 */
120 public int getAllRecordCount() {
121 return allRecordCount;
122 }
123
124 /**
125 * Sets the total number of records.
126 *
127 * @param allRecordCount The total number of records.
128 */
129 public void setAllRecordCount(final int allRecordCount) {
130 this.allRecordCount = allRecordCount;
131 }
132
133 /**
134 * Returns the total number of pages.
135 *
136 * @return The total number of pages.
137 */
138 public int getAllPageCount() {
139 return allPageCount;
140 }
141
142 /**
143 * Sets the total number of pages.
144 *
145 * @param allPageCount The total number of pages.
146 */
147 public void setAllPageCount(final int allPageCount) {
148 this.allPageCount = allPageCount;
149 }
150
151 /**
152 * Returns true if a previous page exists.
153 *
154 * @return True if a previous page exists.
155 */
156 public boolean isExistPrePage() {
157 return existPrePage;
158 }
159
160 /**
161 * Sets whether a previous page exists.
162 *
163 * @param existPrePage True if a previous page exists.
164 */
165 public void setExistPrePage(final boolean existPrePage) {
166 this.existPrePage = existPrePage;
167 }
168
169 /**
170 * Returns true if a next page exists.
171 *
172 * @return True if a next page exists.
173 */
174 public boolean isExistNextPage() {
175 return existNextPage;
176 }
177
178 /**
179 * Sets whether a next page exists.
180 *
181 * @param existNextPage True if a next page exists.
182 */
183 public void setExistNextPage(final boolean existNextPage) {
184 this.existNextPage = existNextPage;
185 }
186
187 /**
188 * Returns the page size.
189 *
190 * @return The page size.
191 */
192 public int getPageSize() {
193 if (pageSize <= 0) {
194 pageSize = getDefaultPageSize();
195 }
196 return pageSize;
197 }
198
199 /**
200 * Sets the page size.
201 *
202 * @param pageSize The page size.
203 */
204 public void setPageSize(final int pageSize) {
205 this.pageSize = pageSize;
206 }
207
208 /**
209 * Returns the current page number.
210 *
211 * @return The current page number.
212 */
213 public int getCurrentPageNumber() {
214 if (currentPageNumber <= 0) {
215 currentPageNumber = getDefaultCurrentPageNumber();
216 }
217 return currentPageNumber;
218 }
219
220 /**
221 * Sets the current page number.
222 *
223 * @param currentPageNumber The current page number.
224 */
225 public void setCurrentPageNumber(final int currentPageNumber) {
226 this.currentPageNumber = currentPageNumber;
227 }
228
229 /**
230 * Returns the list of page numbers.
231 *
232 * @return The list of page numbers.
233 */
234 public List<Integer> getPageNumberList() {
235 return pageNumberList;
236 }
237
238 /**
239 * Sets the list of page numbers.
240 *
241 * @param pageNumberList The list of page numbers.
242 */
243 public void setPageNumberList(final List<Integer> pageNumberList) {
244 this.pageNumberList = pageNumberList;
245 }
246
247 /**
248 * Returns the default page size.
249 *
250 * @return The default page size.
251 */
252 protected int getDefaultPageSize() {
253 return ComponentUtil.getFessConfig().getPagingPageSizeAsInteger();
254 }
255
256 }