001
014
015 package com.liferay.taglib.ui;
016
017 import com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil;
018 import com.liferay.portal.kernel.util.JavaConstants;
019 import com.liferay.portal.kernel.util.StringPool;
020 import com.liferay.portal.kernel.util.Validator;
021 import com.liferay.portal.util.PortalUtil;
022 import com.liferay.taglib.util.IncludeTag;
023
024 import java.util.Map;
025
026 import javax.portlet.PortletResponse;
027
028 import javax.servlet.http.HttpServletRequest;
029
030
033 public class IconTag extends IncludeTag {
034
035 @Override
036 public int doStartTag() {
037 return EVAL_BODY_INCLUDE;
038 }
039
040 public void setAlt(String alt) {
041 _alt = alt;
042 }
043
044 public void setAriaRole(String ariaRole) {
045 _ariaRole = ariaRole;
046 }
047
048 public void setCssClass(String cssClass) {
049 _cssClass = cssClass;
050 }
051
052 public void setData(Map<String, Object> data) {
053 _data = data;
054 }
055
056 public void setIconCssClass(String iconCssClass) {
057 _iconCssClass = iconCssClass;
058 }
059
060 public void setId(String id) {
061 _id = id;
062 }
063
064 public void setImage(String image) {
065 _image = image;
066 }
067
068 public void setImageHover(String imageHover) {
069 _imageHover = imageHover;
070 }
071
072 public void setLabel(boolean label) {
073 _label = label;
074 }
075
076 public void setLang(String lang) {
077 _lang = lang;
078 }
079
080 public void setLinkCssClass(String linkCssClass) {
081 _linkCssClass = linkCssClass;
082 }
083
084 public void setLocalizeMessage(boolean localizeMessage) {
085 _localizeMessage = localizeMessage;
086 }
087
088 public void setMessage(String message) {
089 _message = message;
090 }
091
092 public void setMethod(String method) {
093 _method = method;
094 }
095
096 public void setOnClick(String onClick) {
097 _onClick = onClick;
098 }
099
100 public void setSrc(String src) {
101 _src = src;
102 }
103
104 public void setSrcHover(String srcHover) {
105 _srcHover = srcHover;
106 }
107
108 public void setTarget(String target) {
109 _target = target;
110 }
111
112 public void setToolTip(boolean toolTip) {
113 _toolTip = toolTip;
114 }
115
116 public void setUrl(String url) {
117 _url = url;
118 }
119
120 public void setUseDialog(boolean useDialog) {
121 _useDialog = useDialog;
122 }
123
124 @Override
125 protected void cleanUp() {
126 _alt = null;
127 _ariaRole = null;
128 _cssClass = null;
129 _data = null;
130 _iconCssClass = null;
131 _id = null;
132 _image = null;
133 _imageHover = null;
134 _label = false;
135 _lang = null;
136 _linkCssClass = null;
137 _localizeMessage = true;
138 _message = null;
139 _method = null;
140 _onClick = null;
141 _src = null;
142 _srcHover = null;
143 _target = null;
144 _toolTip = false;
145 _url = null;
146 _useDialog = false;
147 }
148
149 protected String getImage() {
150 return _image;
151 }
152
153 protected String getMessage() {
154 return _message;
155 }
156
157 @Override
158 protected String getPage() {
159 return _PAGE;
160 }
161
162 protected String getUrl() {
163 return _url;
164 }
165
166 @Override
167 protected boolean isCleanUpSetAttributes() {
168 return _CLEAN_UP_SET_ATTRIBUTES;
169 }
170
171 @Override
172 protected void setAttributes(HttpServletRequest request) {
173 String id = _id;
174
175 if (Validator.isNull(id)) {
176 id = (String)request.getAttribute("liferay-ui:icon-menu:id");
177
178 String message = _message;
179
180 if (Validator.isNull(message)) {
181 message = _image;
182 }
183
184 if (Validator.isNotNull(id) && Validator.isNotNull(message)) {
185 id = id.concat(StringPool.UNDERLINE).concat(
186 FriendlyURLNormalizerUtil.normalize(message));
187
188 PortletResponse portletResponse =
189 (PortletResponse)request.getAttribute(
190 JavaConstants.JAVAX_PORTLET_RESPONSE);
191
192 String namespace = StringPool.BLANK;
193
194 if (portletResponse != null) {
195 namespace = portletResponse.getNamespace();
196 }
197
198 id = PortalUtil.getUniqueElementId(
199 getOriginalServletRequest(), namespace, id);
200 }
201 else {
202 id = PortalUtil.generateRandomKey(
203 request, IconTag.class.getName());
204 }
205 }
206
207 request.setAttribute("liferay-ui:icon:alt", _alt);
208 request.setAttribute("liferay-ui:icon:ariaRole", _ariaRole);
209 request.setAttribute("liferay-ui:icon:cssClass", _cssClass);
210 request.setAttribute("liferay-ui:icon:data", _data);
211 request.setAttribute("liferay-ui:icon:iconCssClass", _iconCssClass);
212 request.setAttribute("liferay-ui:icon:id", id);
213 request.setAttribute("liferay-ui:icon:image", _image);
214 request.setAttribute("liferay-ui:icon:imageHover", _imageHover);
215 request.setAttribute("liferay-ui:icon:label", String.valueOf(_label));
216 request.setAttribute("liferay-ui:icon:lang", _lang);
217 request.setAttribute("liferay-ui:icon:linkCssClass", _linkCssClass);
218 request.setAttribute(
219 "liferay-ui:icon:localizeMessage",
220 String.valueOf(_localizeMessage));
221 request.setAttribute("liferay-ui:icon:message", _message);
222 request.setAttribute("liferay-ui:icon:method", _method);
223 request.setAttribute("liferay-ui:icon:onClick", _onClick);
224 request.setAttribute("liferay-ui:icon:src", _src);
225 request.setAttribute("liferay-ui:icon:srcHover", _srcHover);
226 request.setAttribute("liferay-ui:icon:target", _target);
227 request.setAttribute(
228 "liferay-ui:icon:toolTip", String.valueOf(_toolTip));
229 request.setAttribute("liferay-ui:icon:url", _url);
230 request.setAttribute(
231 "liferay-ui:icon:useDialog", String.valueOf(_useDialog));
232 }
233
234 private static final boolean _CLEAN_UP_SET_ATTRIBUTES = true;
235
236 private static final String _PAGE = "/html/taglib/ui/icon/page.jsp";
237
238 private String _alt;
239 private String _ariaRole;
240 private String _cssClass;
241 private Map<String, Object> _data;
242 private String _iconCssClass;
243 private String _id;
244 private String _image;
245 private String _imageHover;
246 private boolean _label;
247 private String _lang;
248 private String _linkCssClass;
249 private boolean _localizeMessage = true;
250 private String _message;
251 private String _method;
252 private String _onClick;
253 private String _src;
254 private String _srcHover;
255 private String _target = "_self";
256 private boolean _toolTip;
257 private String _url;
258 private boolean _useDialog = false;
259
260 }