1
22
23 package com.liferay.portal.kernel.dao.search;
24
25 import com.liferay.portal.kernel.util.ParamUtil;
26
27 import java.util.ArrayList;
28 import java.util.List;
29 import java.util.Map;
30
31 import javax.portlet.PortletURL;
32 import javax.portlet.RenderRequest;
33
34
40 public class SearchContainer {
41
42 public static final String DEFAULT_CUR_PARAM = "cur";
43
44 public static final int DEFAULT_CUR_VALUE = 1;
45
46 public static final int DEFAULT_DELTA = 20;
47
48 public SearchContainer() {
49 }
50
51 public SearchContainer(RenderRequest req, DisplayTerms displayTerms,
52 DisplayTerms searchTerms, String curParam, int delta,
53 PortletURL iteratorURL, List headerNames,
54 String emptyResultsMessage) {
55
56 _displayTerms = displayTerms;
57 _searchTerms = searchTerms;
58
59 _curParam = curParam;
60 _curValue = ParamUtil.get(req, _curParam, 1);
61 setDelta(delta);
62
63 _iteratorURL = iteratorURL;
64
65 _iteratorURL.setParameter(
66 DisplayTerms.KEYWORDS,
67 ParamUtil.getString(req, DisplayTerms.KEYWORDS));
68 _iteratorURL.setParameter(
69 DisplayTerms.ADVANCED_SEARCH,
70 String.valueOf(
71 ParamUtil.getBoolean(req, DisplayTerms.ADVANCED_SEARCH)));
72 _iteratorURL.setParameter(
73 DisplayTerms.AND_OPERATOR,
74 String.valueOf(
75 ParamUtil.getBoolean(req, DisplayTerms.AND_OPERATOR, true)));
76
77 if (headerNames != null) {
78 _headerNames = new ArrayList(headerNames.size());
79
80 _headerNames.addAll(headerNames);
81 }
82
83 _emptyResultsMessage = emptyResultsMessage;
84 }
85
86 public DisplayTerms getDisplayTerms() {
87 return _displayTerms;
88 }
89
90 public DisplayTerms getSearchTerms() {
91 return _searchTerms;
92 }
93
94 public String getCurParam() {
95 return _curParam;
96 }
97
98 public int getCurValue() {
99 return _curValue;
100 }
101
102 public int getDelta() {
103 return _delta;
104 }
105
106 public void setDelta(int delta) {
107 if (delta <= 0) {
108 _delta = DEFAULT_DELTA;
109 }
110 else {
111 _delta = delta;
112 }
113
114 _calculateStartAndEnd();
115 }
116
117 public int getStart() {
118 return _start;
119 }
120
121 public int getEnd() {
122 return _end;
123 }
124
125 public int getResultEnd() {
126 return _resultEnd;
127 }
128
129 public int getTotal() {
130 return _total;
131 }
132
133 public void setTotal(int total) {
134 _total = total;
135
136 if (((_curValue - 1) * _delta) > _total) {
137 _curValue = DEFAULT_CUR_VALUE;
138 }
139
140 _calculateStartAndEnd();
141 }
142
143 public List getResults() {
144 return _results;
145 }
146
147 public void setResults(List results) {
148 _results = results;
149 }
150
151 public List getResultRows() {
152 return _resultRows;
153 }
154
155 public PortletURL getIteratorURL() {
156 return _iteratorURL;
157 }
158
159 public void setIteratorURL(PortletURL iteratorURL) {
160 _iteratorURL = iteratorURL;
161 }
162
163 public List getHeaderNames() {
164 return _headerNames;
165 }
166
167 public void setHeaderNames(List headerNames) {
168 _headerNames = headerNames;
169 }
170
171 public Map getOrderableHeaders() {
172 return _orderableHeaders;
173 }
174
175 public void setOrderableHeaders(Map orderableHeaders) {
176 _orderableHeaders = orderableHeaders;
177 }
178
179 public String getOrderByCol() {
180 return _orderByCol;
181 }
182
183 public void setOrderByCol(String orderByCol) {
184 _orderByCol = orderByCol;
185 }
186
187 public String getOrderByType() {
188 return _orderByType;
189 }
190
191 public void setOrderByType(String orderByType) {
192 _orderByType = orderByType;
193 }
194
195 public String getEmptyResultsMessage() {
196 return _emptyResultsMessage;
197 }
198
199 public void setEmptyResultsMessage(String emptyResultsMessage) {
200 _emptyResultsMessage = emptyResultsMessage;
201 }
202
203 public RowChecker getRowChecker() {
204 return _rowChecker;
205 }
206
207 public void setRowChecker(RowChecker rowChecker) {
208 _rowChecker = rowChecker;
209 }
210
211 public boolean isHover() {
212 return _hover;
213 }
214
215 public void setHover(boolean hover) {
216 _hover = hover;
217 }
218
219 private void _calculateStartAndEnd() {
220 _start = (_curValue - 1) * _delta;
221 _end = _start + _delta;
222
223 _resultEnd = _end;
224
225 if (_resultEnd > _total) {
226 _resultEnd = _total;
227 }
228 }
229
230 private DisplayTerms _displayTerms;
231 private DisplayTerms _searchTerms;
232 private String _curParam = DEFAULT_CUR_PARAM;
233 private int _curValue;
234 private int _delta = DEFAULT_DELTA;
235 private int _start;
236 private int _end;
237 private int _resultEnd;
238 private int _total;
239 private List _results = new ArrayList();
240 private List _resultRows = new ArrayList();
241 private PortletURL _iteratorURL;
242 private List _headerNames;
243 private Map _orderableHeaders;
244 private String _orderByCol;
245 private String _orderByType;
246 private String _emptyResultsMessage;
247 private RowChecker _rowChecker;
248 private boolean _hover = true;
249
250 }