001
014
015 package com.liferay.portal.kernel.dao.search;
016
017 import com.liferay.portal.kernel.bean.BeanPropertiesUtil;
018 import com.liferay.portal.kernel.util.HtmlUtil;
019 import com.liferay.portal.kernel.util.StringBundler;
020 import com.liferay.portal.kernel.util.Validator;
021
022 import java.util.Map;
023
024 import javax.servlet.jsp.JspWriter;
025 import javax.servlet.jsp.PageContext;
026
027
030 public class TextSearchEntry extends SearchEntry {
031
032 public TextSearchEntry() {
033 }
034
035
038 public TextSearchEntry(String align, String valign, String name) {
039 this(align, valign, DEFAULT_COLSPAN, name, null);
040 }
041
042
045 public TextSearchEntry(
046 String align, String valign, int colspan, String name) {
047
048 this(align, valign, colspan, name, null);
049 }
050
051
054 public TextSearchEntry(
055 String align, String valign, String name, String href) {
056
057 this(align, valign, DEFAULT_COLSPAN, name, href, null, null);
058 }
059
060
063 public TextSearchEntry(
064 String align, String valign, int colspan, String name, String href) {
065
066 this(align, valign, colspan, name, href, null, null);
067 }
068
069
072 public TextSearchEntry(
073 String align, String valign, String name, String href, String target,
074 String title) {
075
076 this(align, valign, DEFAULT_COLSPAN, name, href, target, title);
077 }
078
079
082 public TextSearchEntry(
083 String align, String valign, int colspan, String name, String href,
084 String target, String title) {
085
086 super(align, valign, colspan);
087
088 _name = name;
089 _href = href;
090 _target = target;
091 _title = title;
092 }
093
094 @Override
095 public Object clone() {
096 TextSearchEntry textSearchEntry = new TextSearchEntry();
097
098 BeanPropertiesUtil.copyProperties(this, textSearchEntry);
099
100 return textSearchEntry;
101 }
102
103 public Map<String, Object> getData() {
104 return _data;
105 }
106
107 public String getHref() {
108 return _href;
109 }
110
111 public String getName() {
112 return _name;
113 }
114
115 public String getTarget() {
116 return _target;
117 }
118
119 public String getTitle() {
120 return _title;
121 }
122
123 @Override
124 public void print(PageContext pageContext) throws Exception {
125 if (_href == null) {
126 pageContext.getOut().print(_name);
127 }
128 else {
129 StringBundler sb = new StringBundler();
130
131 sb.append("<a");
132
133 if (_data != null) {
134 for (Map.Entry<String, Object> entry : _data.entrySet()) {
135 String key = entry.getKey();
136 String value = String.valueOf(entry.getValue());
137
138 sb.append(" data-");
139 sb.append(key);
140 sb.append("=\"");
141 sb.append(value);
142 sb.append("\"");
143 }
144 }
145
146 sb.append(" href=\"");
147 sb.append(HtmlUtil.escape(_href));
148 sb.append("\"");
149
150 if (Validator.isNotNull(_target)) {
151 sb.append(" target=\"");
152 sb.append(_target);
153 sb.append("\"");
154 }
155
156 if (Validator.isNotNull(_title)) {
157 sb.append(" title=\"");
158 sb.append(_title);
159 sb.append("\"");
160 }
161
162 sb.append(">");
163 sb.append(_name);
164 sb.append("</a>");
165
166 JspWriter jspWriter = pageContext.getOut();
167
168 jspWriter.print(sb.toString());
169 }
170 }
171
172 public void setData(Map<String,Object> data) {
173 _data = data;
174 }
175
176 public void setHref(String href) {
177 _href = href;
178 }
179
180 public void setName(String name) {
181 _name = name;
182 }
183
184 public void setTarget(String target) {
185 _target = target;
186 }
187
188 public void setTitle(String title) {
189 _title = title;
190 }
191
192 private Map<String, Object> _data;
193 private String _href;
194 private String _name;
195 private String _target;
196 private String _title;
197
198 }