1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.strutsel.taglib.logic;
22
23 import org.apache.struts.taglib.logic.NotPresentTag;
24 import org.apache.strutsel.taglib.utils.EvalHelper;
25
26 import javax.servlet.jsp.JspException;
27
28 /**
29 * Evaluates the nested body content of this tag if the specified value is not
30 * present for this request. <p> This class is a subclass of the class
31 * <code>org.apache.struts.taglib.logic.NotPresentTag</code> which provides
32 * most of the described functionality. This subclass allows all attribute
33 * values to be specified as expressions utilizing the JavaServer Pages
34 * Standard Library expression language.
35 *
36 * @version $Rev: 471754 $
37 */
38 public class ELNotPresentTag extends NotPresentTag {
39 /**
40 * Instance variable mapped to "cookie" tag attribute. (Mapping set in
41 * associated BeanInfo class.)
42 */
43 private String cookieExpr;
44
45 /**
46 * Instance variable mapped to "header" tag attribute. (Mapping set in
47 * associated BeanInfo class.)
48 */
49 private String headerExpr;
50
51 /**
52 * Instance variable mapped to "name" tag attribute. (Mapping set in
53 * associated BeanInfo class.)
54 */
55 private String nameExpr;
56
57 /**
58 * Instance variable mapped to "parameter" tag attribute. (Mapping set in
59 * associated BeanInfo class.)
60 */
61 private String parameterExpr;
62
63 /**
64 * Instance variable mapped to "property" tag attribute. (Mapping set in
65 * associated BeanInfo class.)
66 */
67 private String propertyExpr;
68
69 /**
70 * Instance variable mapped to "role" tag attribute. (Mapping set in
71 * associated BeanInfo class.)
72 */
73 private String roleExpr;
74
75 /**
76 * Instance variable mapped to "scope" tag attribute. (Mapping set in
77 * associated BeanInfo class.)
78 */
79 private String scopeExpr;
80
81 /**
82 * Instance variable mapped to "user" tag attribute. (Mapping set in
83 * associated BeanInfo class.)
84 */
85 private String userExpr;
86
87 /**
88 * Getter method for "cookie" tag attribute. (Mapping set in associated
89 * BeanInfo class.)
90 */
91 public String getCookieExpr() {
92 return (cookieExpr);
93 }
94
95 /**
96 * Getter method for "header" tag attribute. (Mapping set in associated
97 * BeanInfo class.)
98 */
99 public String getHeaderExpr() {
100 return (headerExpr);
101 }
102
103 /**
104 * Getter method for "name" tag attribute. (Mapping set in associated
105 * BeanInfo class.)
106 */
107 public String getNameExpr() {
108 return (nameExpr);
109 }
110
111 /**
112 * Getter method for "parameter" tag attribute. (Mapping set in associated
113 * BeanInfo class.)
114 */
115 public String getParameterExpr() {
116 return (parameterExpr);
117 }
118
119 /**
120 * Getter method for "property" tag attribute. (Mapping set in associated
121 * BeanInfo class.)
122 */
123 public String getPropertyExpr() {
124 return (propertyExpr);
125 }
126
127 /**
128 * Getter method for "role" tag attribute. (Mapping set in associated
129 * BeanInfo class.)
130 */
131 public String getRoleExpr() {
132 return (roleExpr);
133 }
134
135 /**
136 * Getter method for "scope" tag attribute. (Mapping set in associated
137 * BeanInfo class.)
138 */
139 public String getScopeExpr() {
140 return (scopeExpr);
141 }
142
143 /**
144 * Getter method for "user" tag attribute. (Mapping set in associated
145 * BeanInfo class.)
146 */
147 public String getUserExpr() {
148 return (userExpr);
149 }
150
151 /**
152 * Setter method for "cookie" tag attribute. (Mapping set in associated
153 * BeanInfo class.)
154 */
155 public void setCookieExpr(String cookieExpr) {
156 this.cookieExpr = cookieExpr;
157 }
158
159 /**
160 * Setter method for "header" tag attribute. (Mapping set in associated
161 * BeanInfo class.)
162 */
163 public void setHeaderExpr(String headerExpr) {
164 this.headerExpr = headerExpr;
165 }
166
167 /**
168 * Setter method for "name" tag attribute. (Mapping set in associated
169 * BeanInfo class.)
170 */
171 public void setNameExpr(String nameExpr) {
172 this.nameExpr = nameExpr;
173 }
174
175 /**
176 * Setter method for "parameter" tag attribute. (Mapping set in associated
177 * BeanInfo class.)
178 */
179 public void setParameterExpr(String parameterExpr) {
180 this.parameterExpr = parameterExpr;
181 }
182
183 /**
184 * Setter method for "property" tag attribute. (Mapping set in associated
185 * BeanInfo class.)
186 */
187 public void setPropertyExpr(String propertyExpr) {
188 this.propertyExpr = propertyExpr;
189 }
190
191 /**
192 * Setter method for "role" tag attribute. (Mapping set in associated
193 * BeanInfo class.)
194 */
195 public void setRoleExpr(String roleExpr) {
196 this.roleExpr = roleExpr;
197 }
198
199 /**
200 * Setter method for "scope" tag attribute. (Mapping set in associated
201 * BeanInfo class.)
202 */
203 public void setScopeExpr(String scopeExpr) {
204 this.scopeExpr = scopeExpr;
205 }
206
207 /**
208 * Setter method for "user" tag attribute. (Mapping set in associated
209 * BeanInfo class.)
210 */
211 public void setUserExpr(String userExpr) {
212 this.userExpr = userExpr;
213 }
214
215 /**
216 * Resets attribute values for tag reuse.
217 */
218 public void release() {
219 super.release();
220 setCookieExpr(null);
221 setHeaderExpr(null);
222 setNameExpr(null);
223 setParameterExpr(null);
224 setPropertyExpr(null);
225 setRoleExpr(null);
226 setScopeExpr(null);
227 setUserExpr(null);
228 }
229
230 /**
231 * Process the start tag.
232 *
233 * @throws JspException if a JSP exception has occurred
234 */
235 public int doStartTag() throws JspException {
236 evaluateExpressions();
237
238 return (super.doStartTag());
239 }
240
241 /**
242 * Processes all attribute values which use the JSTL expression evaluation
243 * engine to determine their values.
244 *
245 * @throws JspException if a JSP exception has occurred
246 */
247 private void evaluateExpressions()
248 throws JspException {
249 String string = null;
250
251 if ((string =
252 EvalHelper.evalString("cookie", getCookieExpr(), this,
253 pageContext)) != null) {
254 setCookie(string);
255 }
256
257 if ((string =
258 EvalHelper.evalString("header", getHeaderExpr(), this,
259 pageContext)) != null) {
260 setHeader(string);
261 }
262
263 if ((string =
264 EvalHelper.evalString("name", getNameExpr(), this, pageContext)) != null) {
265 setName(string);
266 }
267
268 if ((string =
269 EvalHelper.evalString("parameter", getParameterExpr(), this,
270 pageContext)) != null) {
271 setParameter(string);
272 }
273
274 if ((string =
275 EvalHelper.evalString("property", getPropertyExpr(), this,
276 pageContext)) != null) {
277 setProperty(string);
278 }
279
280 if ((string =
281 EvalHelper.evalString("role", getRoleExpr(), this, pageContext)) != null) {
282 setRole(string);
283 }
284
285 if ((string =
286 EvalHelper.evalString("scope", getScopeExpr(), this, pageContext)) != null) {
287 setScope(string);
288 }
289
290 if ((string =
291 EvalHelper.evalString("user", getUserExpr(), this, pageContext)) != null) {
292 setUser(string);
293 }
294 }
295 }