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