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