1 package org.apache.myfaces.tobago.taglib.extension12;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import org.apache.myfaces.tobago.apt.annotation.ExtensionTag;
21 import org.apache.myfaces.tobago.apt.annotation.Tag;
22 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
23 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
24 import org.apache.myfaces.tobago.apt.annotation.DynamicExpression;
25 import org.apache.myfaces.tobago.internal.taglib.TextareaTag;
26
27 import javax.servlet.jsp.JspException;
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 @Tag(name = "textarea")
48 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.internal.taglib.TextAreaTag")
49 public class TextAreaExtensionTag extends TobagoExtensionBodyTagSupport {
50
51 private javax.el.ValueExpression binding;
52 private javax.el.ValueExpression converter;
53 private javax.el.ValueExpression disabled;
54 private javax.el.ValueExpression focus;
55 private javax.el.ValueExpression label;
56 private javax.el.ValueExpression readonly;
57 private javax.el.ValueExpression rendered;
58 private javax.el.ValueExpression required;
59 private javax.el.ValueExpression tip;
60 private javax.el.ValueExpression value;
61 private javax.el.MethodExpression valueChangeListener;
62 private javax.el.MethodExpression validator;
63 private javax.el.ValueExpression onchange;
64 private javax.el.ValueExpression markup;
65 private javax.el.ValueExpression labelWidth;
66 private javax.el.ValueExpression tabIndex;
67 private javax.el.ValueExpression validatorMessage;
68 private javax.el.ValueExpression converterMessage;
69 private javax.el.ValueExpression requiredMessage;
70
71 private LabelExtensionTag labelTag;
72 private TextareaTag textAreaTag;
73
74 @Override
75 public int doStartTag() throws JspException {
76
77 labelTag = new LabelExtensionTag();
78 labelTag.setPageContext(pageContext);
79 labelTag.setRows("*");
80 if (label != null) {
81 labelTag.setValue(label);
82 }
83 if (tip != null) {
84 labelTag.setTip(tip);
85 }
86 if (rendered != null) {
87 labelTag.setRendered(rendered);
88 }
89 if (labelWidth != null) {
90 labelTag.setColumns(createStringValueExpression(labelWidth.getExpressionString() + ";*"));
91 }
92 if (markup != null) {
93 labelTag.setMarkup(markup);
94 }
95 labelTag.setParent(getParent());
96 labelTag.doStartTag();
97
98 textAreaTag = new TextareaTag();
99 textAreaTag.setPageContext(pageContext);
100 if (value != null) {
101 textAreaTag.setValue(value);
102 }
103 if (valueChangeListener != null) {
104 textAreaTag.setValueChangeListener(valueChangeListener);
105 }
106 if (binding != null) {
107 textAreaTag.setBinding(binding);
108 }
109 if (converter != null) {
110 textAreaTag.setConverter(converter);
111 }
112 if (validator != null) {
113 textAreaTag.setValidator(validator);
114 }
115 if (onchange != null) {
116 textAreaTag.setOnchange(onchange);
117 }
118 if (disabled != null) {
119 textAreaTag.setDisabled(disabled);
120 }
121 if (focus != null) {
122 textAreaTag.setFocus(focus);
123 }
124 if (id != null) {
125 textAreaTag.setId(id);
126 }
127 if (readonly != null) {
128 textAreaTag.setReadonly(readonly);
129 }
130 if (required != null) {
131 textAreaTag.setRequired(required);
132 }
133 if (markup != null) {
134 textAreaTag.setMarkup(markup);
135 }
136 if (tabIndex != null) {
137 textAreaTag.setTabIndex(tabIndex);
138 }
139 if (validatorMessage != null) {
140 textAreaTag.setValidatorMessage(validatorMessage);
141 }
142 if (converterMessage != null) {
143 textAreaTag.setConverterMessage(converterMessage);
144 }
145 if (requiredMessage != null) {
146 textAreaTag.setRequiredMessage(requiredMessage);
147 }
148 textAreaTag.setParent(labelTag);
149 textAreaTag.doStartTag();
150
151 return super.doStartTag();
152 }
153
154 @Override
155 public int doEndTag() throws JspException {
156 textAreaTag.doEndTag();
157 labelTag.doEndTag();
158 return super.doEndTag();
159 }
160
161 @Override
162 public void release() {
163 super.release();
164 binding = null;
165 converter = null;
166 validator = null;
167 disabled = null;
168 labelWidth = null;
169 focus = null;
170 label = null;
171 readonly = null;
172 rendered = null;
173 required = null;
174 tip = null;
175 value = null;
176 onchange = null;
177 markup = null;
178 valueChangeListener = null;
179 tabIndex = null;
180 textAreaTag = null;
181 labelTag = null;
182 validatorMessage = null;
183 converterMessage = null;
184 requiredMessage = null;
185 }
186
187
188
189
190 @TagAttribute
191 @UIComponentTagAttribute(type = "java.lang.Object")
192 public void setValue(javax.el.ValueExpression value) {
193 this.value = value;
194 }
195
196
197
198
199
200
201
202
203
204 @TagAttribute
205 @UIComponentTagAttribute(
206 type = {},
207 expression = DynamicExpression.METHOD_BINDING_REQUIRED,
208 methodSignature = "javax.faces.event.ValueChangeEvent")
209 public void setValueChangeListener(javax.el.MethodExpression valueChangeListener) {
210 this.valueChangeListener = valueChangeListener;
211 }
212
213
214
215
216
217 @TagAttribute
218 @UIComponentTagAttribute()
219 public void setLabel(javax.el.ValueExpression label) {
220 this.label = label;
221 }
222
223
224
225
226 @TagAttribute
227 @UIComponentTagAttribute(type = "java.lang.Boolean")
228 public void setFocus(javax.el.ValueExpression focus) {
229 this.focus = focus;
230 }
231
232
233
234
235
236 @TagAttribute
237 @UIComponentTagAttribute(type = "javax.faces.component.UIComponent")
238 public void setBinding(javax.el.ValueExpression binding) {
239 this.binding = binding;
240 }
241
242
243
244
245
246 @TagAttribute
247 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "true")
248 public void setRendered(javax.el.ValueExpression rendered) {
249 this.rendered = rendered;
250 }
251
252
253
254
255
256
257
258
259
260
261 @TagAttribute
262 @UIComponentTagAttribute(type = "javax.faces.convert.Converter",
263 expression = DynamicExpression.VALUE_BINDING)
264 public void setConverter(javax.el.ValueExpression converter) {
265 this.converter = converter;
266 }
267
268
269
270
271
272
273
274 @TagAttribute
275 @UIComponentTagAttribute(type = {},
276 expression = DynamicExpression.METHOD_BINDING,
277 methodSignature = { "javax.faces.context.FacesContext", "javax.faces.component.UIComponent", "java.lang.Object" })
278 public void setValidator(javax.el.MethodExpression validator) {
279 this.validator = validator;
280 }
281
282
283
284
285 @TagAttribute
286 @UIComponentTagAttribute()
287 public void setOnchange(javax.el.ValueExpression onchange) {
288 this.onchange = onchange;
289 }
290
291
292
293
294
295 @TagAttribute
296 @UIComponentTagAttribute(defaultValue = "none", type = "java.lang.String[]")
297 public void setMarkup(javax.el.ValueExpression markup) {
298 this.markup = markup;
299 }
300
301
302
303
304 @TagAttribute
305 @UIComponentTagAttribute(type = "java.lang.Boolean")
306 public void setReadonly(javax.el.ValueExpression readonly) {
307 this.readonly = readonly;
308 }
309
310
311
312
313 @TagAttribute()
314 @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
315 public void setDisabled(javax.el.ValueExpression disabled) {
316 this.disabled = disabled;
317 }
318
319
320
321
322
323
324 @TagAttribute
325 @UIComponentTagAttribute(type = "java.lang.Boolean")
326 public void setRequired(javax.el.ValueExpression required) {
327 this.required = required;
328 }
329
330
331
332
333 @TagAttribute
334 @UIComponentTagAttribute()
335 public void setTip(javax.el.ValueExpression tip) {
336 this.tip = tip;
337 }
338
339
340
341
342
343
344 @TagAttribute
345 @UIComponentTagAttribute()
346 public void setLabelWidth(javax.el.ValueExpression labelWidth) {
347 this.labelWidth = labelWidth;
348 }
349
350 @TagAttribute
351 @UIComponentTagAttribute(type = "java.lang.Integer")
352 public void setTabIndex(javax.el.ValueExpression tabIndex) {
353 this.tabIndex = tabIndex;
354 }
355
356
357
358
359 @TagAttribute
360 @UIComponentTagAttribute()
361 public void setValidatorMessage(javax.el.ValueExpression validatorMessage) {
362 this.validatorMessage = validatorMessage;
363 }
364
365
366
367
368 @TagAttribute
369 @UIComponentTagAttribute()
370 public void setConverterMessage(javax.el.ValueExpression converterMessage) {
371 this.converterMessage = converterMessage;
372 }
373
374
375
376
377 @TagAttribute
378 @UIComponentTagAttribute()
379 public void setRequiredMessage(javax.el.ValueExpression requiredMessage) {
380 this.requiredMessage = requiredMessage;
381 }
382
383 }