/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.taglib.search;
import com.liferay.portal.kernel.dao.search.SearchEntry;
import com.liferay.portal.kernel.util.StringPool;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.portlet.PortletURL;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Brian Wing Shun Chan
*/
public class ResultRow
implements com.liferay.portal.kernel.dao.search.ResultRow {
public ResultRow(Object obj, long primaryKey, int pos) {
this(obj, String.valueOf(primaryKey), pos);
}
public ResultRow(Object obj, long primaryKey, int pos, boolean bold) {
this(obj, String.valueOf(primaryKey), pos, bold);
}
public ResultRow(Object obj, String primaryKey, int pos) {
this(obj, primaryKey, pos, false);
}
public ResultRow(Object obj, String primaryKey, int pos, boolean bold) {
this(String.valueOf(pos + 1), obj, primaryKey, pos, bold);
}
public ResultRow(
String rowId, Object obj, String primaryKey, int pos, boolean bold) {
this(
rowId, obj, primaryKey, pos, bold, StringPool.BLANK,
StringPool.BLANK);
}
public ResultRow(
String rowId, Object obj, String primaryKey, int pos, boolean bold,
String cssClass, String state) {
_rowId = rowId;
_obj = obj;
_primaryKey = primaryKey;
_pos = pos;
_bold = bold;
_cssClass = cssClass;
_state = state;
_searchEntries = new ArrayList<>();
}
@Override
public void addButton(int index, String name, String href) {
addButton(
index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
SearchEntry.DEFAULT_COLSPAN, name, href);
}
@Override
public void addButton(
int index, String align, String valign, int colspan, String name,
String href) {
if (_restricted) {
href = null;
}
ButtonSearchEntry buttonSearchEntry = new ButtonSearchEntry();
buttonSearchEntry.setAlign(align);
buttonSearchEntry.setColspan(colspan);
buttonSearchEntry.setHref(href);
buttonSearchEntry.setName(name);
buttonSearchEntry.setValign(valign);
_searchEntries.add(index, buttonSearchEntry);
}
@Override
public void addButton(String name, String href) {
addButton(_searchEntries.size(), name, href);
}
@Override
public void addButton(
String align, String valign, int colspan, String name, String href) {
addButton(_searchEntries.size(), align, valign, colspan, name, href);
}
@Override
public void addButton(
String align, String valign, String name, String href) {
addButton(
_searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
name, href);
}
@Override
public void addDate(Date date) {
addDate(_searchEntries.size(), date, null);
}
@Override
public void addDate(Date date, PortletURL portletURL) {
if (portletURL != null) {
addDate(_searchEntries.size(), date, portletURL.toString());
}
else {
addDate(_searchEntries.size(), date, null);
}
}
@Override
public void addDate(Date date, String href) {
addDate(_searchEntries.size(), date, null);
}
@Override
public void addDate(int index, Date date, String href) {
DateSearchEntry dateSearchEntry = new DateSearchEntry();
dateSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
dateSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
dateSearchEntry.setDate(date);
dateSearchEntry.setHref(href);
dateSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
_searchEntries.add(index, dateSearchEntry);
}
/**
* @deprecated As of 7.0.0
*/
@Deprecated
@Override
public void addJSP(int index, String path) {
addJSP(
index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
SearchEntry.DEFAULT_COLSPAN, path);
}
@Override
public void addJSP(
int index, String path, ServletContext servletContext,
HttpServletRequest request, HttpServletResponse response) {
addJSP(
index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
SearchEntry.DEFAULT_COLSPAN, path, servletContext, request,
response);
}
/**
* @deprecated As of 7.0.0
*/
@Deprecated
@Override
public void addJSP(
int index, String align, String valign, int colspan, String path) {
JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
jspSearchEntry.setAlign(align);
jspSearchEntry.setColspan(colspan);
jspSearchEntry.setPath(path);
jspSearchEntry.setValign(valign);
_searchEntries.add(index, jspSearchEntry);
}
@Override
public void addJSP(
int index, String align, String valign, int colspan, String path,
ServletContext servletContext, HttpServletRequest request,
HttpServletResponse response) {
JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
jspSearchEntry.setAlign(align);
jspSearchEntry.setColspan(colspan);
jspSearchEntry.setPath(path);
jspSearchEntry.setRequest(request);
jspSearchEntry.setResponse(response);
jspSearchEntry.setServletContext(servletContext);
jspSearchEntry.setValign(valign);
_searchEntries.add(index, jspSearchEntry);
}
/**
* @deprecated As of 7.0.0
*/
@Deprecated
@Override
public void addJSP(String path) {
addJSP(_searchEntries.size(), path);
}
@Override
public void addJSP(
String path, ServletContext servletContext, HttpServletRequest request,
HttpServletResponse response) {
addJSP(_searchEntries.size(), path, servletContext, request, response);
}
/**
* @deprecated As of 7.0.0
*/
@Deprecated
@Override
public void addJSP(String path, String cssClass) {
JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
jspSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
jspSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
jspSearchEntry.setCssClass(cssClass);
jspSearchEntry.setPath(path);
jspSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
_searchEntries.add(_searchEntries.size(), jspSearchEntry);
}
/**
* @deprecated As of 7.0.0
*/
@Deprecated
@Override
public void addJSP(String align, String valign, int colspan, String path) {
addJSP(_searchEntries.size(), align, valign, colspan, path);
}
@Override
public void addJSP(
String align, String valign, int colspan, String path,
ServletContext servletContext, HttpServletRequest request,
HttpServletResponse response) {
addJSP(
_searchEntries.size(), align, valign, colspan, path, servletContext,
request, response);
}
@Override
public void addJSP(
String path, String cssClass, ServletContext servletContext,
HttpServletRequest request, HttpServletResponse response) {
JSPSearchEntry jspSearchEntry = new JSPSearchEntry();
jspSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
jspSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
jspSearchEntry.setCssClass(cssClass);
jspSearchEntry.setPath(path);
jspSearchEntry.setRequest(request);
jspSearchEntry.setResponse(response);
jspSearchEntry.setServletContext(servletContext);
jspSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
_searchEntries.add(_searchEntries.size(), jspSearchEntry);
}
/**
* @deprecated As of 7.0.0
*/
@Deprecated
@Override
public void addJSP(String align, String valign, String path) {
addJSP(
_searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
path);
}
@Override
public void addJSP(
String align, String valign, String path, ServletContext servletContext,
HttpServletRequest request, HttpServletResponse response) {
addJSP(
_searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
path, servletContext, request, response);
}
@Override
public void addSearchEntry(int index, SearchEntry searchEntry) {
_searchEntries.add(index, searchEntry);
}
@Override
public void addSearchEntry(SearchEntry searchEntry) {
_searchEntries.add(searchEntry);
}
@Override
public void addStatus(int status) {
addStatus(_searchEntries.size(), status, 0, null, null);
}
@Override
public void addStatus(
int index, int status, long statusByUserId, Date statusDate,
String href) {
StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
statusSearchEntry.setHref(href);
statusSearchEntry.setStatus(status);
statusSearchEntry.setStatusDate(statusDate);
statusSearchEntry.setStatusByUserId(statusByUserId);
statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
_searchEntries.add(index, statusSearchEntry);
}
@Override
public void addStatus(
int index, int status, String href, ServletContext servletContext,
HttpServletRequest request, HttpServletResponse response) {
StatusSearchEntry statusSearchEntry = new StatusSearchEntry();
statusSearchEntry.setAlign(SearchEntry.DEFAULT_ALIGN);
statusSearchEntry.setColspan(SearchEntry.DEFAULT_COLSPAN);
statusSearchEntry.setHref(href);
statusSearchEntry.setRequest(request);
statusSearchEntry.setResponse(response);
statusSearchEntry.setServletContext(servletContext);
statusSearchEntry.setStatus(status);
statusSearchEntry.setValign(SearchEntry.DEFAULT_VALIGN);
_searchEntries.add(index, statusSearchEntry);
}
@Override
public void addStatus(int status, long statusByUserId, Date statusDate) {
addStatus(
_searchEntries.size(), status, statusByUserId, statusDate, null);
}
@Override
public void addStatus(
int status, long statusByUserId, Date statusDate,
PortletURL portletURL) {
if (portletURL != null) {
addStatus(
_searchEntries.size(), status, statusByUserId, statusDate,
portletURL.toString());
}
else {
addStatus(
_searchEntries.size(), status, statusByUserId, statusDate,
null);
}
}
@Override
public void addStatus(
int status, long statusByUserId, Date statusDate, String href) {
addStatus(
_searchEntries.size(), status, statusByUserId, statusDate, href);
}
@Override
public void addStatus(int status, PortletURL portletURL) {
if (portletURL != null) {
addStatus(
_searchEntries.size(), status, 0, null, portletURL.toString());
}
else {
addStatus(_searchEntries.size(), status, 0, null, null);
}
}
@Override
public void addStatus(int status, String href) {
addStatus(_searchEntries.size(), status, 0, null, href);
}
@Override
public void addText(int index, String name) {
addText(
index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
SearchEntry.DEFAULT_COLSPAN, name);
}
@Override
public void addText(int index, String name, PortletURL portletURL) {
if (portletURL == null) {
addText(index, name);
}
else {
addText(index, name, portletURL.toString());
}
}
@Override
public void addText(int index, String name, String href) {
addText(
index, SearchEntry.DEFAULT_ALIGN, SearchEntry.DEFAULT_VALIGN,
SearchEntry.DEFAULT_COLSPAN, name, href);
}
@Override
public void addText(
int index, String align, String valign, int colspan, String name) {
TextSearchEntry textSearchEntry = new TextSearchEntry();
textSearchEntry.setAlign(align);
textSearchEntry.setColspan(colspan);
textSearchEntry.setName(name);
textSearchEntry.setValign(valign);
_searchEntries.add(index, textSearchEntry);
}
@Override
public void addText(
int index, String align, String valign, int colspan, String name,
PortletURL portletURL) {
if (portletURL == null) {
addText(index, align, valign, colspan, name);
}
else {
addText(index, align, valign, colspan, name, portletURL.toString());
}
}
@Override
public void addText(
int index, String align, String valign, int colspan, String name,
String href) {
if (_restricted) {
href = null;
}
TextSearchEntry textSearchEntry = new TextSearchEntry();
textSearchEntry.setAlign(align);
textSearchEntry.setColspan(colspan);
textSearchEntry.setHref(href);
textSearchEntry.setName(name);
textSearchEntry.setValign(valign);
_searchEntries.add(index, textSearchEntry);
}
public void addText(int index, TextSearchEntry searchEntry) {
if (_restricted) {
searchEntry.setHref(null);
}
_searchEntries.add(index, searchEntry);
}
@Override
public void addText(String name) {
addText(_searchEntries.size(), name);
}
@Override
public void addText(String name, PortletURL portletURL) {
if (portletURL == null) {
addText(name);
}
else {
addText(name, portletURL.toString());
}
}
@Override
public void addText(String name, String href) {
addText(_searchEntries.size(), name, href);
}
@Override
public void addText(String align, String valign, int colspan, String name) {
addText(_searchEntries.size(), align, valign, colspan, name);
}
@Override
public void addText(
String align, String valign, int colspan, String name,
PortletURL portletURL) {
if (portletURL == null) {
addText(align, valign, colspan, name);
}
else {
addText(align, valign, colspan, name, portletURL.toString());
}
}
@Override
public void addText(
String align, String valign, int colspan, String name, String href) {
addText(_searchEntries.size(), align, valign, colspan, name, href);
}
@Override
public void addText(String align, String valign, String name) {
addText(
_searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
name);
}
@Override
public void addText(
String align, String valign, String name, PortletURL portletURL) {
addText(align, valign, SearchEntry.DEFAULT_COLSPAN, name, portletURL);
}
@Override
public void addText(String align, String valign, String name, String href) {
addText(
_searchEntries.size(), align, valign, SearchEntry.DEFAULT_COLSPAN,
name, href);
}
public void addText(TextSearchEntry searchEntry) {
if (_restricted) {
searchEntry.setHref(null);
}
_searchEntries.add(_searchEntries.size(), searchEntry);
}
@Override
public String getClassHoverName() {
return _classHoverName;
}
@Override
public String getClassName() {
return _className;
}
@Override
public String getCssClass() {
return _cssClass;
}
@Override
public Map<String, Object> getData() {
return _data;
}
@Override
public List<SearchEntry> getEntries() {
return _searchEntries;
}
@Override
public Object getObject() {
return _obj;
}
@Override
public Object getParameter(String param) {
if (_params == null) {
_params = new HashMap<>();
}
return _params.get(param);
}
@Override
public int getPos() {
return _pos;
}
@Override
public String getPrimaryKey() {
return _primaryKey;
}
@Override
public String getRowId() {
return _rowId;
}
@Override
public String getState() {
return _state;
}
@Override
public boolean isBold() {
return _bold;
}
@Override
public boolean isRestricted() {
return _restricted;
}
@Override
public boolean isSkip() {
return _skip;
}
@Override
public void removeSearchEntry(int pos) {
_searchEntries.remove(pos);
}
@Override
public void setBold(boolean bold) {
_bold = bold;
}
@Override
public void setClassHoverName(String classHoverName) {
_classHoverName = classHoverName;
}
@Override
public void setClassName(String className) {
_className = className;
}
@Override
public void setCssClass(String cssClass) {
_cssClass = cssClass;
}
@Override
public void setData(Map<String, Object> data) {
_data = data;
}
@Override
public void setObject(Object obj) {
_obj = obj;
}
@Override
public void setParameter(String param, Object value) {
if (_params == null) {
_params = new HashMap<>();
}
_params.put(param, value);
}
@Override
public void setPrimaryKey(String primaryKey) {
_primaryKey = primaryKey;
}
@Override
public void setRestricted(boolean restricted) {
_restricted = restricted;
}
@Override
public void setRowId(String rowId) {
_rowId = rowId;
}
@Override
public void setSkip(boolean skip) {
_skip = skip;
}
@Override
public void setState(String state) {
_state = state;
}
private boolean _bold;
private String _classHoverName;
private String _className;
private String _cssClass;
private Map<String, Object> _data;
private Object _obj;
private Map<String, Object> _params;
private final int _pos;
private String _primaryKey;
private boolean _restricted;
private String _rowId;
private final List<SearchEntry> _searchEntries;
private boolean _skip;
private String _state;
}