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