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 Kuromoji.
25   */
26  public class KuromojiPager implements Serializable {
27  
28      private static final long serialVersionUID = 1L;
29  
30      /**
31       * Default constructor.
32       */
33      public KuromojiPager() {
34          // no-op
35      }
36  
37      /** The total number of records. */
38      private int allRecordCount;
39  
40      /** The total number of pages. */
41      private int allPageCount;
42  
43      /** Whether a previous page exists. */
44      private boolean existPrePage;
45  
46      /** Whether a next page exists. */
47      private boolean existNextPage;
48  
49      /** The list of page numbers. */
50      private List<Integer> pageNumberList;
51  
52      /** The number of items per page. */
53      private int pageSize;
54  
55      /** The current page number. */
56      private int currentPageNumber;
57  
58      /** The ID of the Kuromoji dictionary. */
59      public String id;
60  
61      /**
62       * Clears the pager fields.
63       */
64      public void clear() {
65          allRecordCount = 0;
66          allPageCount = 0;
67          existPrePage = false;
68          existNextPage = false;
69          pageSize = getDefaultPageSize();
70          currentPageNumber = getDefaultCurrentPageNumber();
71  
72          id = null;
73      }
74  
75      /**
76       * Returns the default page size.
77       *
78       * @return The default page size.
79       */
80      protected int getDefaultPageSize() {
81          return ComponentUtil.getFessConfig().getPagingPageSizeAsInteger();
82      }
83  
84      /**
85       * Returns the default current page number.
86       *
87       * @return The default current page number.
88       */
89      protected int getDefaultCurrentPageNumber() {
90          return 1;
91      }
92  
93      /**
94       * Returns the total number of records.
95       *
96       * @return The total number of records.
97       */
98      public int getAllRecordCount() {
99          return allRecordCount;
100     }
101 
102     /**
103      * Sets the total number of records.
104      *
105      * @param allRecordCount The total number of records.
106      */
107     public void setAllRecordCount(final int allRecordCount) {
108         this.allRecordCount = allRecordCount;
109     }
110 
111     /**
112      * Returns the total number of pages.
113      *
114      * @return The total number of pages.
115      */
116     public int getAllPageCount() {
117         return allPageCount;
118     }
119 
120     /**
121      * Sets the total number of pages.
122      *
123      * @param allPageCount The total number of pages.
124      */
125     public void setAllPageCount(final int allPageCount) {
126         this.allPageCount = allPageCount;
127     }
128 
129     /**
130      * Returns true if a previous page exists.
131      *
132      * @return True if a previous page exists.
133      */
134     public boolean isExistPrePage() {
135         return existPrePage;
136     }
137 
138     /**
139      * Sets whether a previous page exists.
140      *
141      * @param existPrePage True if a previous page exists.
142      */
143     public void setExistPrePage(final boolean existPrePage) {
144         this.existPrePage = existPrePage;
145     }
146 
147     /**
148      * Returns true if a next page exists.
149      *
150      * @return True if a next page exists.
151      */
152     public boolean isExistNextPage() {
153         return existNextPage;
154     }
155 
156     /**
157      * Sets whether a next page exists.
158      *
159      * @param existNextPage True if a next page exists.
160      */
161     public void setExistNextPage(final boolean existNextPage) {
162         this.existNextPage = existNextPage;
163     }
164 
165     /**
166      * Returns the page size.
167      *
168      * @return The page size.
169      */
170     public int getPageSize() {
171         if (pageSize <= 0) {
172             pageSize = getDefaultPageSize();
173         }
174         return pageSize;
175     }
176 
177     /**
178      * Sets the page size.
179      *
180      * @param pageSize The page size.
181      */
182     public void setPageSize(final int pageSize) {
183         this.pageSize = pageSize;
184     }
185 
186     /**
187      * Returns the current page number.
188      *
189      * @return The current page number.
190      */
191     public int getCurrentPageNumber() {
192         if (currentPageNumber <= 0) {
193             currentPageNumber = getDefaultCurrentPageNumber();
194         }
195         return currentPageNumber;
196     }
197 
198     /**
199      * Sets the current page number.
200      *
201      * @param currentPageNumber The current page number.
202      */
203     public void setCurrentPageNumber(final int currentPageNumber) {
204         this.currentPageNumber = currentPageNumber;
205     }
206 
207     /**
208      * Returns the list of page numbers.
209      *
210      * @return The list of page numbers.
211      */
212     public List<Integer> getPageNumberList() {
213         return pageNumberList;
214     }
215 
216     /**
217      * Sets the list of page numbers.
218      *
219      * @param pageNumberList The list of page numbers.
220      */
221     public void setPageNumberList(final List<Integer> pageNumberList) {
222         this.pageNumberList = pageNumberList;
223     }
224 }