001
014
015 package com.liferay.portal.kernel.dao.search;
016
017 import java.util.ArrayList;
018 import java.util.Date;
019 import java.util.HashMap;
020 import java.util.List;
021 import java.util.Map;
022
023 import javax.portlet.PortletURL;
024
025 import javax.servlet.ServletContext;
026 import javax.servlet.http.HttpServletRequest;
027 import javax.servlet.http.HttpServletResponse;
028
029
032 public class ResultRow {
033
034 public ResultRow(Object obj, long primaryKey, int pos) {
035 this(obj, String.valueOf(primaryKey), pos);
036 }
037
038 public ResultRow(Object obj, long primaryKey, int pos, boolean bold) {
039 this(obj, String.valueOf(primaryKey), pos, bold);
040 }
041
042 public ResultRow(Object obj, String primaryKey, int pos) {
043 this(obj, primaryKey, pos, false);
044 }
045
046 public ResultRow(Object obj, String primaryKey, int pos, boolean bold) {
047 this(String.valueOf(pos + 1), obj, primaryKey, pos, bold);
048 }
049
050 public ResultRow(
051 String rowId, Object obj, String primaryKey, int pos, boolean bold) {
052
053 _rowId = rowId;
054 _obj = obj;
055 _primaryKey = primaryKey;
056 _pos = pos;
057 _bold = bold;
058 _searchEntries = new ArrayList<SearchEntry>();
059 }
060
061 public void addButton(int index, String name, String href) {
062 addButton(
063 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
064 SearchEntry.DEFAULT_COLSPAN, name, href);
065 }
066
067 public void addButton(
068 int index, String align, String valign, int colspan, String name,
069 String href) {
070
071 if (_restricted) {
072 href = null;
073 }
074
075 ButtonSearchEntry buttonSearchEntry = new ButtonSearchEntry();
076
077 buttonSearchEntry.setAlign(align);
078 buttonSearchEntry.setColspan(colspan);
079 buttonSearchEntry.setHref(href);
080 buttonSearchEntry.setName(name);
081 buttonSearchEntry.setValign(valign);
082
083 _searchEntries.add(index, buttonSearchEntry);
084 }
085
086 public void addButton(String name, String href) {
087 addButton(_searchEntries.size(), name, href);
088 }
089
090 public void addButton(
091 String align, String valign, int colspan, String name, String href) {
092
093 addButton(_searchEntries.size(), align, valign, colspan, name, href);
094 }
095
096 public void addButton(
097 String align, String valign, String name, String href) {
098
099 addButton(
100 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
101 name, href);
102 }
103
104 public void addDate(Date date) {
105 addDate(_searchEntries.size(), date, null);
106 }
107
108 public void addDate(Date date, PortletURL portletURL) {
109 if (portletURL != null) {
110 addDate(_searchEntries.size(), date, portletURL.toString());
111
112 }
113 else {
114 addDate(_searchEntries.size(), date, null);
115 }
116 }
117
118 public void addDate(Date date, String href) {
119 addDate(_searchEntries.size(), date, null);
120 }
121
122 public void addDate(int index, Date date, String href) {
123
124 DateSearchEntry dateSearchEntry = new DateSearchEntry();
125
126 dateSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
127 dateSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
128 dateSearchEntry.setDate(date);
129 dateSearchEntry.setHref(href);
130 dateSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
131
132 _searchEntries.add(index, dateSearchEntry);
133 }
134
135 public void addJSP(int index, String path) {
136 addJSP(
137 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
138 SearchEntry.DEFAULT_COLSPAN, path);
139 }
140
141 public void addJSP(
142 int index, String path, ServletContext servletContext,
143 HttpServletRequest request, HttpServletResponse response) {
144
145 addJSP(
146 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
147 SearchEntry.DEFAULT_COLSPAN, path, servletContext, request,
148 response);
149 }
150
151 public void addJSP(
152 int index, String align, String valign, int colspan, String path) {
153
154 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
155
156 jspSearchEntry.setAlign(align);
157 jspSearchEntry.setColspan(colspan);
158 jspSearchEntry.setPath(path);
159 jspSearchEntry.setValign(valign);
160
161 _searchEntries.add(index, jspSearchEntry);
162 }
163
164 public void addJSP(
165 int index, String align, String valign, int colspan, String path,
166 ServletContext servletContext, HttpServletRequest request,
167 HttpServletResponse response) {
168
169 JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
170
171 jspSearchEntry.setAlign(align);
172 jspSearchEntry.setColspan(colspan);
173 jspSearchEntry.setPath(path);
174 jspSearchEntry.setRequest(request);
175 jspSearchEntry.setResponse(response);
176 jspSearchEntry.setServletContext(servletContext);
177 jspSearchEntry.setValign(valign);
178
179 _searchEntries.add(index, jspSearchEntry);
180 }
181
182 public void addJSP(String path) {
183 addJSP(_searchEntries.size(), path);
184 }
185
186 public void addJSP(
187 String path, ServletContext servletContext, HttpServletRequest request,
188 HttpServletResponse response) {
189
190 addJSP(_searchEntries.size(), path, servletContext, request, response);
191 }
192
193 public void addJSP(String align, String valign, int colspan, String path) {
194 addJSP(_searchEntries.size(), align, valign, colspan, path);
195 }
196
197 public void addJSP(
198 String align, String valign, int colspan, String path,
199 ServletContext servletContext, HttpServletRequest request,
200 HttpServletResponse response) {
201
202 addJSP(
203 _searchEntries.size(), align, valign, colspan, path, servletContext,
204 request, response);
205 }
206
207 public void addJSP(String align, String valign, String path) {
208 addJSP(
209 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
210 path);
211 }
212
213 public void addJSP(
214 String align, String valign, String path, ServletContext servletContext,
215 HttpServletRequest request, HttpServletResponse response) {
216
217 addJSP(
218 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
219 path, servletContext, request, response);
220 }
221
222 public void addSearchEntry(int index, SearchEntry searchEntry) {
223 _searchEntries.add(index, searchEntry);
224 }
225
226 public void addSearchEntry(SearchEntry searchEntry) {
227 _searchEntries.add(searchEntry);
228 }
229
230 public void addStatus(int status) {
231 addStatus(_searchEntries.size(), status, 0, null, null);
232 }
233
234 public void addStatus(
235 int index, int status, long statusByUserId, Date statusDate,
236 String href) {
237
238 StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
239
240 statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
241 statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
242 statusSearchEntry.setHref(href);
243 statusSearchEntry.setStatus(status);
244 statusSearchEntry.setStatusDate(statusDate);
245 statusSearchEntry.setStatusByUserId(statusByUserId);
246 statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
247
248 _searchEntries.add(index, statusSearchEntry);
249 }
250
251 public void addStatus(
252 int index, int status, String href, ServletContext servletContext,
253 HttpServletRequest request, HttpServletResponse response) {
254
255 StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
256
257 statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
258 statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
259 statusSearchEntry.setHref(href);
260 statusSearchEntry.setRequest(request);
261 statusSearchEntry.setResponse(response);
262 statusSearchEntry.setServletContext(servletContext);
263 statusSearchEntry.setStatus(status);
264 statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
265
266 _searchEntries.add(index, statusSearchEntry);
267 }
268
269 public void addStatus(int status, long statusByUserId, Date statusDate) {
270 addStatus(
271 _searchEntries.size(), status, statusByUserId, statusDate, null);
272 }
273
274 public void addStatus(
275 int status, long statusByUserId, Date statusDate,
276 PortletURL portletURL) {
277
278 if (portletURL != null) {
279 addStatus(
280 _searchEntries.size(), status, statusByUserId, statusDate,
281 portletURL.toString());
282 }
283 else {
284 addStatus(
285 _searchEntries.size(), status, statusByUserId, statusDate,
286 null);
287 }
288 }
289
290 public void addStatus(
291 int status, long statusByUserId, Date statusDate, String href) {
292
293 addStatus(
294 _searchEntries.size(), status, statusByUserId, statusDate, href);
295 }
296
297 public void addStatus(int status, PortletURL portletURL) {
298 if (portletURL != null) {
299 addStatus(
300 _searchEntries.size(), status, 0, null, portletURL.toString());
301
302 }
303 else {
304 addStatus(_searchEntries.size(), status, 0, null, null);
305 }
306 }
307
308 public void addStatus(int status, String href) {
309 addStatus(_searchEntries.size(), status, 0, null, href);
310 }
311
312 public void addText(int index, String name) {
313 addText(
314 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
315 SearchEntry.DEFAULT_COLSPAN, name);
316 }
317
318 public void addText(int index, String name, PortletURL portletURL) {
319 if (portletURL == null) {
320 addText(index, name);
321 }
322 else {
323 addText(index, name, portletURL.toString());
324 }
325 }
326
327 public void addText(int index, String name, String href) {
328 addText(
329 index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
330 SearchEntry.DEFAULT_COLSPAN, name, href);
331 }
332
333 public void addText(
334 int index, String align, String valign, int colspan, String name) {
335
336 TextSearchEntry textSearchEntry = new TextSearchEntry();
337
338 textSearchEntry.setAlign(align);
339 textSearchEntry.setColspan(colspan);
340 textSearchEntry.setName(name);
341 textSearchEntry.setValign(valign);
342
343 _searchEntries.add(index, textSearchEntry);
344 }
345
346 public void addText(
347 int index, String align, String valign, int colspan, String name,
348 PortletURL portletURL) {
349
350 if (portletURL == null) {
351 addText(index, align, valign, colspan, name);
352 }
353 else {
354 addText(index, align, valign, colspan, name, portletURL.toString());
355 }
356 }
357
358 public void addText(
359 int index, String align, String valign, int colspan, String name,
360 String href) {
361
362 if (_restricted) {
363 href = null;
364 }
365
366 TextSearchEntry textSearchEntry = new TextSearchEntry();
367
368 textSearchEntry.setAlign(align);
369 textSearchEntry.setColspan(colspan);
370 textSearchEntry.setHref(href);
371 textSearchEntry.setName(name);
372 textSearchEntry.setValign(valign);
373
374 _searchEntries.add(index, textSearchEntry);
375 }
376
377 public void addText(int index, TextSearchEntry searchEntry) {
378 if (_restricted) {
379 searchEntry.setHref(null);
380 }
381
382 _searchEntries.add(index, searchEntry);
383 }
384
385 public void addText(String name) {
386 addText(_searchEntries.size(), name);
387 }
388
389 public void addText(String name, PortletURL portletURL) {
390 if (portletURL == null) {
391 addText(name);
392 }
393 else {
394 addText(name, portletURL.toString());
395 }
396 }
397
398 public void addText(String name, String href) {
399 addText(_searchEntries.size(), name, href);
400 }
401
402 public void addText(String align, String valign, int colspan, String name) {
403 addText(_searchEntries.size(), align, valign, colspan, name);
404 }
405
406 public void addText(
407 String align, String valign, int colspan, String name,
408 PortletURL portletURL) {
409
410 if (portletURL == null) {
411 addText(align, valign, colspan, name);
412 }
413 else {
414 addText(align, valign, colspan, name, portletURL.toString());
415 }
416 }
417
418 public void addText(
419 String align, String valign, int colspan, String name, String href) {
420
421 addText(_searchEntries.size(), align, valign, colspan, name, href);
422 }
423
424 public void addText(String align, String valign, String name) {
425 addText(
426 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
427 name);
428 }
429
430 public void addText(
431 String align, String valign, String name, PortletURL portletURL) {
432
433 addText(align, valign, SearchEntry.DEFAULT_COLSPAN, name, portletURL);
434 }
435
436 public void addText(String align, String valign, String name, String href) {
437 addText(
438 _searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
439 name, href);
440 }
441
442 public void addText(TextSearchEntry searchEntry) {
443 if (_restricted) {
444 searchEntry.setHref(null);
445 }
446
447 _searchEntries.add(_searchEntries.size(), searchEntry);
448 }
449
450 public String getClassHoverName() {
451 return _classHoverName;
452 }
453
454 public String getClassName() {
455 return _className;
456 }
457
458 public Map<String, Object> getData() {
459 return _data;
460 }
461
462 public List<SearchEntry> getEntries() {
463 return _searchEntries;
464 }
465
466 public Object getObject() {
467 return _obj;
468 }
469
470 public Object getParameter(String param) {
471 if (_params == null) {
472 _params = new HashMap<String, Object>();
473 }
474
475 return _params.get(param);
476 }
477
478 public int getPos() {
479 return _pos;
480 }
481
482 public String getPrimaryKey() {
483 return _primaryKey;
484 }
485
486 public String getRowId() {
487 return _rowId;
488 }
489
490 public boolean isBold() {
491 return _bold;
492 }
493
494 public boolean isRestricted() {
495 return _restricted;
496 }
497
498 public boolean isSkip() {
499 return _skip;
500 }
501
502 public void removeSearchEntry(int pos) {
503 _searchEntries.remove(pos);
504 }
505
506 public void setBold(boolean bold) {
507 _bold = bold;
508 }
509
510 public void setClassHoverName(String classHoverName) {
511 _classHoverName = classHoverName;
512 }
513
514 public void setClassName(String className) {
515 _className = className;
516 }
517
518 public void setData(Map<String, Object> data) {
519 _data = data;
520 }
521
522 public void setObject(Object obj) {
523 _obj = obj;
524 }
525
526 public void setParameter(String param, Object value) {
527 if (_params == null) {
528 _params = new HashMap<String, Object>();
529 }
530
531 _params.put(param, value);
532 }
533
534 public void setPrimaryKey(String primaryKey) {
535 _primaryKey = primaryKey;
536 }
537
538 public void setRestricted(boolean restricted) {
539 _restricted = restricted;
540 }
541
542 public void setRowId(String rowId) {
543 _rowId = rowId;
544 }
545
546 public void setSkip(boolean skip) {
547 _skip = skip;
548 }
549
550 private boolean _bold;
551 private String _classHoverName;
552 private String _className;
553 private Map<String, Object> _data;
554 private Object _obj;
555 private Map<String, Object> _params;
556 private int _pos;
557 private String _primaryKey;
558 private boolean _restricted;
559 private String _rowId;
560 private List<SearchEntry> _searchEntries;
561 private boolean _skip;
562
563 }