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 setMessage(String message) {
070 _message = message;
071 }
072
073 public void setMethod(String method) {
074 _method = method;
075 }
076
077 public void setOnClick(String onClick) {
078 _onClick = onClick;
079 }
080
081 public void setSrc(String src) {
082 _src = src;
083 }
084
085 public void setSrcHover(String srcHover) {
086 _srcHover = srcHover;
087 }
088
089 public void setTarget(String target) {
090 _target = target;
091 }
092
093 public void setToolTip(boolean toolTip) {
094 _toolTip = toolTip;
095 }
096
097 public void setUrl(String url) {
098 _url = url;
099 }
100
101 @Override
102 protected void cleanUp() {
103 _alt = null;
104 _cssClass = null;
105 _data = null;
106 _id = null;
107 _image = null;
108 _imageHover = null;
109 _label = false;
110 _lang = null;
111 _message = null;
112 _method = null;
113 _onClick = null;
114 _src = null;
115 _srcHover = null;
116 _target = null;
117 _toolTip = false;
118 _url = null;
119 }
120
121 protected String getMessage() {
122 return _message;
123 }
124
125 @Override
126 protected String getPage() {
127 return _PAGE;
128 }
129
130 protected String getUrl() {
131 return _url;
132 }
133
134 @Override
135 protected boolean isCleanUpSetAttributes() {
136 return _CLEAN_UP_SET_ATTRIBUTES;
137 }
138
139 @Override
140 protected void setAttributes(HttpServletRequest request) {
141 String id = _id;
142
143 if (Validator.isNull(id)) {
144 id = (String)request.getAttribute("liferay-ui:icon-menu:id");
145
146 String message = _message;
147
148 if (Validator.isNull(message)) {
149 message = _image;
150 }
151
152 if (Validator.isNotNull(id) && Validator.isNotNull(message)) {
153 id = id.concat(StringPool.UNDERLINE).concat(
154 FriendlyURLNormalizerUtil.normalize(message));
155 }
156 else {
157 id = PortalUtil.generateRandomKey(
158 request, IconTag.class.getName());
159 }
160 }
161
162 request.setAttribute("liferay-ui:icon:alt", _alt);
163 request.setAttribute("liferay-ui:icon:cssClass", _cssClass);
164 request.setAttribute("liferay-ui:icon:data", _data);
165 request.setAttribute("liferay-ui:icon:id", id);
166 request.setAttribute("liferay-ui:icon:image", _image);
167 request.setAttribute("liferay-ui:icon:imageHover", _imageHover);
168 request.setAttribute("liferay-ui:icon:label", String.valueOf(_label));
169 request.setAttribute("liferay-ui:icon:lang", _lang);
170 request.setAttribute("liferay-ui:icon:message", _message);
171 request.setAttribute("liferay-ui:icon:method", _method);
172 request.setAttribute("liferay-ui:icon:onClick", _onClick);
173 request.setAttribute("liferay-ui:icon:src", _src);
174 request.setAttribute("liferay-ui:icon:srcHover", _srcHover);
175 request.setAttribute("liferay-ui:icon:target", _target);
176 request.setAttribute(
177 "liferay-ui:icon:toolTip", String.valueOf(_toolTip));
178 request.setAttribute("liferay-ui:icon:url", _url);
179 }
180
181 private static final boolean _CLEAN_UP_SET_ATTRIBUTES = true;
182
183 private static final String _PAGE = "/html/taglib/ui/icon/page.jsp";
184
185 private String _alt;
186 private String _cssClass;
187 private Map<String, Object> _data;
188 private String _id;
189 private String _image;
190 private String _imageHover;
191 private boolean _label;
192 private String _lang;
193 private String _message;
194 private String _method;
195 private String _onClick;
196 private String _src;
197 private String _srcHover;
198 private String _target = "_self";
199 private boolean _toolTip;
200 private String _url;
201
202 }