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