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 setCssClass(String cssClass) {
045 _cssClass = cssClass;
046 }
047
048 public void setData(Map<String, Object> data) {
049 _data = data;
050 }
051
052 public void setId(String id) {
053 _id = id;
054 }
055
056 public void setImage(String image) {
057 _image = image;
058 }
059
060 public void setImageHover(String imageHover) {
061 _imageHover = imageHover;
062 }
063
064 public void setLabel(boolean label) {
065 _label = label;
066 }
067
068 public void setLang(String lang) {
069 _lang = lang;
070 }
071
072 public void setLinkCssClass(String linkCssClass) {
073 _linkCssClass = linkCssClass;
074 }
075
076 public void setLocalizeMessage(boolean localizeMessage) {
077 _localizeMessage = localizeMessage;
078 }
079
080 public void setMessage(String message) {
081 _message = message;
082 }
083
084 public void setMethod(String method) {
085 _method = method;
086 }
087
088 public void setOnClick(String onClick) {
089 _onClick = onClick;
090 }
091
092 public void setSrc(String src) {
093 _src = src;
094 }
095
096 public void setSrcHover(String srcHover) {
097 _srcHover = srcHover;
098 }
099
100 public void setTarget(String target) {
101 _target = target;
102 }
103
104 public void setToolTip(boolean toolTip) {
105 _toolTip = toolTip;
106 }
107
108 public void setUrl(String url) {
109 _url = url;
110 }
111
112 @Override
113 protected void cleanUp() {
114 _alt = null;
115 _cssClass = null;
116 _data = null;
117 _id = null;
118 _image = null;
119 _imageHover = null;
120 _label = false;
121 _lang = null;
122 _linkCssClass = null;
123 _localizeMessage = true;
124 _message = null;
125 _method = null;
126 _onClick = null;
127 _src = null;
128 _srcHover = null;
129 _target = null;
130 _toolTip = false;
131 _url = null;
132 }
133
134 protected String getMessage() {
135 return _message;
136 }
137
138 @Override
139 protected String getPage() {
140 return _PAGE;
141 }
142
143 protected String getUrl() {
144 return _url;
145 }
146
147 @Override
148 protected boolean isCleanUpSetAttributes() {
149 return _CLEAN_UP_SET_ATTRIBUTES;
150 }
151
152 @Override
153 protected void setAttributes(HttpServletRequest request) {
154 String id = _id;
155
156 if (Validator.isNull(id)) {
157 id = (String)request.getAttribute("liferay-ui:icon-menu:id");
158
159 String message = _message;
160
161 if (Validator.isNull(message)) {
162 message = _image;
163 }
164
165 if (Validator.isNotNull(id) && Validator.isNotNull(message)) {
166 id = id.concat(StringPool.UNDERLINE).concat(
167 FriendlyURLNormalizerUtil.normalize(message));
168
169 PortletResponse portletResponse =
170 (PortletResponse)request.getAttribute(
171 JavaConstants.JAVAX_PORTLET_RESPONSE);
172
173 id = PortalUtil.getUniqueElementId(
174 getOriginalServletRequest(), portletResponse.getNamespace(),
175 id);
176 }
177 else {
178 id = PortalUtil.generateRandomKey(
179 request, IconTag.class.getName());
180 }
181 }
182
183 request.setAttribute("liferay-ui:icon:alt", _alt);
184 request.setAttribute("liferay-ui:icon:cssClass", _cssClass);
185 request.setAttribute("liferay-ui:icon:data", _data);
186 request.setAttribute("liferay-ui:icon:id", id);
187 request.setAttribute("liferay-ui:icon:image", _image);
188 request.setAttribute("liferay-ui:icon:imageHover", _imageHover);
189 request.setAttribute("liferay-ui:icon:label", String.valueOf(_label));
190 request.setAttribute("liferay-ui:icon:lang", _lang);
191 request.setAttribute("liferay-ui:icon:linkCssClass", _linkCssClass);
192 request.setAttribute(
193 "liferay-ui:icon:localizeMessage",
194 String.valueOf(_localizeMessage));
195 request.setAttribute("liferay-ui:icon:message", _message);
196 request.setAttribute("liferay-ui:icon:method", _method);
197 request.setAttribute("liferay-ui:icon:onClick", _onClick);
198 request.setAttribute("liferay-ui:icon:src", _src);
199 request.setAttribute("liferay-ui:icon:srcHover", _srcHover);
200 request.setAttribute("liferay-ui:icon:target", _target);
201 request.setAttribute(
202 "liferay-ui:icon:toolTip", String.valueOf(_toolTip));
203 request.setAttribute("liferay-ui:icon:url", _url);
204 }
205
206 private static final boolean _CLEAN_UP_SET_ATTRIBUTES = true;
207
208 private static final String _PAGE = "/html/taglib/ui/icon/page.jsp";
209
210 private String _alt;
211 private String _cssClass;
212 private Map<String, Object> _data;
213 private String _id;
214 private String _image;
215 private String _imageHover;
216 private boolean _label;
217 private String _lang;
218 private String _linkCssClass;
219 private boolean _localizeMessage = true;
220 private String _message;
221 private String _method;
222 private String _onClick;
223 private String _src;
224 private String _srcHover;
225 private String _target = "_self";
226 private boolean _toolTip;
227 private String _url;
228
229 }