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