/** * 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.bean.BeanPropertiesUtil; import com.liferay.portal.kernel.util.HtmlUtil; import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.Validator; import java.io.Writer; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author Brian Wing Shun Chan */ public class TextSearchEntry extends SearchEntry { @Override public Object clone() { TextSearchEntry textSearchEntry = new TextSearchEntry(); BeanPropertiesUtil.copyProperties(this, textSearchEntry); return textSearchEntry; } public Map<String, Object> getData() { return _data; } public String getHref() { return _href; } public String getName() { return _name; } public String getName(HttpServletRequest request) { return getName(); } public String getTarget() { return _target; } public String getTitle() { return _title; } @Override public void print( Writer writer, HttpServletRequest request, HttpServletResponse response) throws Exception { if (Validator.isNull(_href)) { writer.write(getName(request)); } else { StringBundler sb = new StringBundler(); sb.append("<a"); if (_data != null) { for (Map.Entry<String, Object> entry : _data.entrySet()) { String key = entry.getKey(); String value = String.valueOf(entry.getValue()); sb.append(" data-"); sb.append(key); sb.append("=\""); sb.append(value); sb.append("\""); } } sb.append(" href=\""); if (_href.startsWith("javascript:")) { sb.append(_href); } else { sb.append(HtmlUtil.escape(_href)); } sb.append("\""); if (Validator.isNotNull(_target)) { sb.append(" target=\""); sb.append(_target); sb.append("\""); } if (Validator.isNotNull(_title)) { sb.append(" title=\""); sb.append(_title); sb.append("\""); } sb.append(">"); sb.append(getName(request)); sb.append("</a>"); writer.write(sb.toString()); } } public void setData(Map<String, Object> data) { _data = data; } public void setHref(String href) { _href = href; } public void setName(String name) { _name = name; } public void setTarget(String target) { _target = target; } public void setTitle(String title) { _title = title; } private Map<String, Object> _data; private String _href; private String _name; private String _target; private String _title; }