1 package org.apache.myfaces.tobago.taglib.extension;
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.internal.taglib.SelectOneRadioTag;
23 import org.apache.myfaces.tobago.taglib.decl.HasBinding;
24 import org.apache.myfaces.tobago.taglib.decl.HasConverter;
25 import org.apache.myfaces.tobago.taglib.decl.HasId;
26 import org.apache.myfaces.tobago.taglib.decl.HasLabel;
27 import org.apache.myfaces.tobago.taglib.decl.HasLabelWidth;
28 import org.apache.myfaces.tobago.taglib.decl.HasOnchange;
29 import org.apache.myfaces.tobago.taglib.decl.HasRenderRange;
30 import org.apache.myfaces.tobago.taglib.decl.HasTabIndex;
31 import org.apache.myfaces.tobago.taglib.decl.HasTip;
32 import org.apache.myfaces.tobago.taglib.decl.HasValidator;
33 import org.apache.myfaces.tobago.taglib.decl.HasValue;
34 import org.apache.myfaces.tobago.taglib.decl.HasValueChangeListener;
35 import org.apache.myfaces.tobago.taglib.decl.IsDisabled;
36 import org.apache.myfaces.tobago.taglib.decl.IsInline;
37 import org.apache.myfaces.tobago.taglib.decl.IsReadonly;
38 import org.apache.myfaces.tobago.taglib.decl.IsRendered;
39 import org.apache.myfaces.tobago.taglib.decl.IsRequired;
40 import org.apache.myfaces.tobago.taglib.decl.HasValidatorMessage;
41 import org.apache.myfaces.tobago.taglib.decl.HasRequiredMessage;
42 import org.apache.myfaces.tobago.taglib.decl.HasConverterMessage;
43 import org.apache.myfaces.tobago.taglib.decl.HasMarkup;
44
45 import javax.servlet.jsp.JspException;
46 import javax.servlet.jsp.tagext.BodyTagSupport;
47
48
49
50
51
52
53
54 @Tag(name = "selectOneRadio")
55 @ExtensionTag(baseClassName = "org.apache.myfaces.tobago.internal.taglib.SelectOneRadioTag")
56 public class SelectOneRadioExtensionTag extends BodyTagSupport
57 implements HasId, HasValue, HasValueChangeListener, IsDisabled,
58 IsReadonly, HasOnchange, IsInline, HasLabel, HasLabelWidth, IsRequired,
59 HasValidatorMessage, HasRequiredMessage, HasConverterMessage, HasMarkup,
60 IsRendered, HasBinding, HasTip, HasValidator, HasConverter, HasRenderRange, HasTabIndex {
61
62 private String required;
63 private String value;
64 private String valueChangeListener;
65 private String disabled;
66 private String readonly;
67 private String onchange;
68 private String inline;
69 private String label;
70 private String rendered;
71 private String binding;
72 private String tip;
73 private String validator;
74 private String converter;
75 private String labelWidth;
76 private String tabIndex;
77 private String focus;
78 private String renderRange;
79 private String validatorMessage;
80 private String converterMessage;
81 private String requiredMessage;
82 private String markup;
83
84 private LabelExtensionTag labelTag;
85 private SelectOneRadioTag selectOneRadioTag;
86
87 @Override
88 public int doStartTag() throws JspException {
89
90 labelTag = new LabelExtensionTag();
91 labelTag.setPageContext(pageContext);
92 if (label != null) {
93 labelTag.setValue(label);
94 }
95 if (tip != null) {
96 labelTag.setTip(tip);
97 }
98 if (rendered != null) {
99 labelTag.setRendered(rendered);
100 }
101 if (labelWidth != null) {
102 labelTag.setColumns(labelWidth + ";*");
103 }
104 if (markup != null) {
105 labelTag.setMarkup(markup);
106 }
107 labelTag.setParent(getParent());
108 labelTag.doStartTag();
109
110 selectOneRadioTag = new SelectOneRadioTag();
111 selectOneRadioTag.setPageContext(pageContext);
112 if (value != null) {
113 selectOneRadioTag.setValue(value);
114 }
115 if (valueChangeListener != null) {
116 selectOneRadioTag.setValueChangeListener(valueChangeListener);
117 }
118 if (validator != null) {
119 selectOneRadioTag.setValidator(validator);
120 }
121 if (converter != null) {
122 selectOneRadioTag.setConverter(converter);
123 }
124 if (binding != null) {
125 selectOneRadioTag.setBinding(binding);
126 }
127 if (onchange != null) {
128 selectOneRadioTag.setOnchange(onchange);
129 }
130 if (disabled != null) {
131 selectOneRadioTag.setDisabled(disabled);
132 }
133 if (inline != null) {
134 selectOneRadioTag.setInline(inline);
135 }
136 if (focus != null) {
137 selectOneRadioTag.setFocus(focus);
138 }
139 if (id != null) {
140 selectOneRadioTag.setId(id);
141 }
142 if (readonly != null) {
143 selectOneRadioTag.setReadonly(readonly);
144 }
145 if (required != null) {
146 selectOneRadioTag.setRequired(required);
147 }
148 if (tabIndex != null) {
149 selectOneRadioTag.setTabIndex(tabIndex);
150 }
151 if (renderRange != null) {
152 selectOneRadioTag.setRenderRange(renderRange);
153 }
154 if (validatorMessage != null) {
155 selectOneRadioTag.setValidatorMessage(validatorMessage);
156 }
157 if (converterMessage != null) {
158 selectOneRadioTag.setConverterMessage(converterMessage);
159 }
160 if (requiredMessage != null) {
161 selectOneRadioTag.setRequiredMessage(requiredMessage);
162 }
163 if (markup != null) {
164 selectOneRadioTag.setMarkup(markup);
165 }
166
167 selectOneRadioTag.setParent(labelTag);
168 selectOneRadioTag.doStartTag();
169
170 return super.doStartTag();
171 }
172
173 @Override
174 public int doEndTag() throws JspException {
175 selectOneRadioTag.doEndTag();
176 labelTag.doEndTag();
177 return super.doEndTag();
178 }
179
180 @Override
181 public void release() {
182 super.release();
183 binding = null;
184 onchange = null;
185 disabled = null;
186 inline = null;
187 label = null;
188 labelWidth = null;
189 converter = null;
190 validator = null;
191 readonly = null;
192 rendered = null;
193 required = null;
194 tip = null;
195 value = null;
196 valueChangeListener = null;
197 tabIndex = null;
198 selectOneRadioTag = null;
199 labelTag = null;
200 focus = null;
201 renderRange = null;
202 validatorMessage = null;
203 converterMessage = null;
204 requiredMessage = null;
205 markup = null;
206 }
207
208 public void setRequired(String required) {
209 this.required = required;
210 }
211
212 public void setValue(String value) {
213 this.value = value;
214 }
215
216 public void setValueChangeListener(String valueChangeListener) {
217 this.valueChangeListener = valueChangeListener;
218 }
219
220 public void setValidator(String validator) {
221 this.validator = validator;
222 }
223
224 public void setDisabled(String disabled) {
225 this.disabled = disabled;
226 }
227
228 public void setReadonly(String readonly) {
229 this.readonly = readonly;
230 }
231
232 public void setOnchange(String onchange) {
233 this.onchange = onchange;
234 }
235
236 public void setConverter(String converter) {
237 this.converter = converter;
238 }
239
240 public void setInline(String inline) {
241 this.inline = inline;
242 }
243
244 public void setLabel(String label) {
245 this.label = label;
246 }
247
248 public void setRendered(String rendered) {
249 this.rendered = rendered;
250 }
251
252 public void setBinding(String binding) {
253 this.binding = binding;
254 }
255
256 public void setTip(String tip) {
257 this.tip = tip;
258 }
259
260 public void setLabelWidth(String labelWidth) {
261 this.labelWidth = labelWidth;
262 }
263
264 public void setTabIndex(String tabIndex) {
265 this.tabIndex = tabIndex;
266 }
267
268 public void setFocus(String focus) {
269 this.focus = focus;
270 }
271
272 public void setRenderRange(String renderRange) {
273 this.renderRange = renderRange;
274 }
275
276 public void setValidatorMessage(String validatorMessage) {
277 this.validatorMessage = validatorMessage;
278 }
279
280 public void setConverterMessage(String converterMessage) {
281 this.converterMessage = converterMessage;
282 }
283
284 public void setRequiredMessage(String requiredMessage) {
285 this.requiredMessage = requiredMessage;
286 }
287
288 public void setMarkup(String markup) {
289 this.markup = markup;
290 }
291 }