001
014
015 package com.liferay.taglib.ui;
016
017 import com.liferay.portal.kernel.servlet.taglib.FileAvailabilityUtil;
018 import com.liferay.portal.kernel.util.ServerDetector;
019 import com.liferay.portal.kernel.util.Validator;
020 import com.liferay.taglib.util.IncludeTag;
021
022 import javax.servlet.http.HttpServletRequest;
023 import javax.servlet.jsp.JspException;
024 import javax.servlet.jsp.JspWriter;
025
026
029 public class ToggleAreaTag extends IncludeTag {
030
031 @Override
032 public int doStartTag() throws JspException {
033 try {
034 HttpServletRequest request =
035 (HttpServletRequest)pageContext.getRequest();
036
037 request.setAttribute("liferay-ui:toggle-area:id", _id);
038 request.setAttribute(
039 "liferay-ui:toggle-area:showImage", _showImage);
040 request.setAttribute(
041 "liferay-ui:toggle-area:hideImage", _hideImage);
042 request.setAttribute(
043 "liferay-ui:toggle-area:showMessage", _showMessage);
044 request.setAttribute(
045 "liferay-ui:toggle-area:hideMessage", _hideMessage);
046 request.setAttribute(
047 "liferay-ui:toggle-area:defaultShowContent",
048 String.valueOf(_defaultShowContent));
049 request.setAttribute("liferay-ui:toggle-area:stateVar", _stateVar);
050 request.setAttribute("liferay-ui:toggle-area:align", _align);
051
052 include(getStartPage());
053
054 return EVAL_BODY_INCLUDE;
055 }
056 catch (Exception e) {
057 throw new JspException(e);
058 }
059 }
060
061 @Override
062 public int doEndTag() throws JspException {
063 try {
064 if (!FileAvailabilityUtil.isAvailable(
065 getServletContext(), getEndPage())) {
066
067 JspWriter jspWriter = pageContext.getOut();
068
069 jspWriter.write("</div>");
070 }
071 else {
072 include(_endPage);
073 }
074
075 return EVAL_PAGE;
076 }
077 catch (Exception e) {
078 throw new JspException(e);
079 }
080 finally {
081 if (!ServerDetector.isResin()) {
082 _startPage = null;
083 _endPage = null;
084 _id = null;
085 _showMessage = null;
086 _hideMessage = null;
087 _defaultShowContent = true;
088 _stateVar = null;
089 _align = "left";
090 }
091 }
092 }
093
094 public void setStartPage(String startPage) {
095 _startPage = startPage;
096 }
097
098 public void setEndPage(String endPage) {
099 _endPage = endPage;
100 }
101
102 public void setId(String id) {
103 _id = id;
104 }
105
106 public void setShowImage(String showImage) {
107 _showImage = showImage;
108 }
109
110 public void setHideImage(String hideImage) {
111 _hideImage = hideImage;
112 }
113
114 public void setShowMessage(String showMessage) {
115 _showMessage = showMessage;
116 }
117
118 public void setHideMessage(String hideMessage) {
119 _hideMessage = hideMessage;
120 }
121
122 public void setDefaultShowContent(boolean defaultShowContent) {
123 _defaultShowContent = defaultShowContent;
124 }
125
126 public void setStateVar(String stateVar) {
127 _stateVar = stateVar;
128 }
129
130 public void setAlign(String align) {
131 _align = align;
132 }
133
134 @Override
135 protected String getEndPage() {
136 if (Validator.isNull(_endPage)) {
137 return _END_PAGE;
138 }
139 else {
140 return _endPage;
141 }
142 }
143
144 @Override
145 protected String getStartPage() {
146 if (Validator.isNull(_startPage)) {
147 return _START_PAGE;
148 }
149 else {
150 return _startPage;
151 }
152 }
153
154 private static final String _END_PAGE =
155 "/html/taglib/ui/toggle_area/end.jsp";
156
157 private static final String _START_PAGE =
158 "/html/taglib/ui/toggle_area/start.jsp";
159
160 private String _startPage;
161 private String _endPage;
162 private String _id;
163 private String _showImage;
164 private String _hideImage;
165 private String _showMessage;
166 private String _hideMessage;
167 private boolean _defaultShowContent = true;
168 private String _stateVar;
169 private String _align = "left";
170
171 }