View Javadoc
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 }