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 doEndTag() throws JspException {
033 try {
034 if (!FileAvailabilityUtil.isAvailable(
035 servletContext, getEndPage())) {
036
037 JspWriter jspWriter = pageContext.getOut();
038
039 jspWriter.write("</div>");
040 }
041 else {
042 include(_endPage);
043 }
044
045 return EVAL_PAGE;
046 }
047 catch (Exception e) {
048 throw new JspException(e);
049 }
050 finally {
051 if (!ServerDetector.isResin()) {
052 _startPage = null;
053 _endPage = null;
054 _id = null;
055 _showMessage = null;
056 _hideMessage = null;
057 _defaultShowContent = true;
058 _stateVar = null;
059 _align = "left";
060 }
061 }
062 }
063
064 @Override
065 public int doStartTag() throws JspException {
066 try {
067 HttpServletRequest request =
068 (HttpServletRequest)pageContext.getRequest();
069
070 request.setAttribute("liferay-ui:toggle-area:id", _id);
071 request.setAttribute(
072 "liferay-ui:toggle-area:showImage", _showImage);
073 request.setAttribute(
074 "liferay-ui:toggle-area:hideImage", _hideImage);
075 request.setAttribute(
076 "liferay-ui:toggle-area:showMessage", _showMessage);
077 request.setAttribute(
078 "liferay-ui:toggle-area:hideMessage", _hideMessage);
079 request.setAttribute(
080 "liferay-ui:toggle-area:defaultShowContent",
081 String.valueOf(_defaultShowContent));
082 request.setAttribute("liferay-ui:toggle-area:stateVar", _stateVar);
083 request.setAttribute("liferay-ui:toggle-area:align", _align);
084
085 include(getStartPage());
086
087 return EVAL_BODY_INCLUDE;
088 }
089 catch (Exception e) {
090 throw new JspException(e);
091 }
092 }
093
094 public void setAlign(String align) {
095 _align = align;
096 }
097
098 public void setDefaultShowContent(boolean defaultShowContent) {
099 _defaultShowContent = defaultShowContent;
100 }
101
102 public void setEndPage(String endPage) {
103 _endPage = endPage;
104 }
105
106 public void setHideImage(String hideImage) {
107 _hideImage = hideImage;
108 }
109
110 public void setHideMessage(String hideMessage) {
111 _hideMessage = hideMessage;
112 }
113
114 public void setId(String id) {
115 _id = id;
116 }
117
118 public void setShowImage(String showImage) {
119 _showImage = showImage;
120 }
121
122 public void setShowMessage(String showMessage) {
123 _showMessage = showMessage;
124 }
125
126 public void setStartPage(String startPage) {
127 _startPage = startPage;
128 }
129
130 public void setStateVar(String stateVar) {
131 _stateVar = stateVar;
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 _align = "left";
161 private boolean _defaultShowContent = true;
162 private String _endPage;
163 private String _hideImage;
164 private String _hideMessage;
165 private String _id;
166 private String _showImage;
167 private String _showMessage;
168 private String _startPage;
169 private String _stateVar;
170
171 }