KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > cocoon > faces > taglib > html > SelectBooleanCheckboxTag


1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.cocoon.faces.taglib.html;
17
18 import org.apache.cocoon.faces.FacesUtils;
19 import org.apache.cocoon.faces.taglib.UIComponentTag;
20 import org.apache.commons.lang.BooleanUtils;
21
22 import javax.faces.FacesException;
23 import javax.faces.component.UIComponent;
24 import javax.faces.component.UISelectBoolean;
25 import javax.faces.context.FacesContext;
26 import javax.faces.el.MethodBinding;
27 import javax.faces.event.ValueChangeEvent;
28
29 /**
30  * @version CVS $Id: SelectBooleanCheckboxTag.java 46253 2004-09-17 14:36:29Z vgritsenko $
31  */

32 public class SelectBooleanCheckboxTag extends UIComponentTag {
33
34     private String JavaDoc converter;
35     private String JavaDoc immediate;
36     private String JavaDoc required;
37     private String JavaDoc validator;
38     private String JavaDoc value;
39     private String JavaDoc valueChangeListener;
40     private String JavaDoc accesskey;
41     private String JavaDoc dir;
42     private String JavaDoc disabled;
43     private String JavaDoc lang;
44     private String JavaDoc onblur;
45     private String JavaDoc onchange;
46     private String JavaDoc onclick;
47     private String JavaDoc ondblclick;
48     private String JavaDoc onfocus;
49     private String JavaDoc onkeydown;
50     private String JavaDoc onkeypress;
51     private String JavaDoc onkeyup;
52     private String JavaDoc onmousedown;
53     private String JavaDoc onmousemove;
54     private String JavaDoc onmouseout;
55     private String JavaDoc onmouseover;
56     private String JavaDoc onmouseup;
57     private String JavaDoc onselect;
58     private String JavaDoc readonly;
59     private String JavaDoc style;
60     private String JavaDoc styleClass;
61     private String JavaDoc tabindex;
62     private String JavaDoc title;
63
64
65     public void setConverter(String JavaDoc converter) {
66         this.converter = converter;
67     }
68
69     public void setImmediate(String JavaDoc immediate) {
70         this.immediate = immediate;
71     }
72
73     public void setRequired(String JavaDoc required) {
74         this.required = required;
75     }
76
77     public void setValidator(String JavaDoc validator) {
78         this.validator = validator;
79     }
80
81     public void setValue(String JavaDoc value) {
82         this.value = value;
83     }
84
85     public void setValueChangeListener(String JavaDoc valueChangeListener) {
86         this.valueChangeListener = valueChangeListener;
87     }
88
89     public void setAccesskey(String JavaDoc accesskey) {
90         this.accesskey = accesskey;
91     }
92
93     public void setDir(String JavaDoc dir) {
94         this.dir = dir;
95     }
96
97     public void setDisabled(String JavaDoc disabled) {
98         this.disabled = disabled;
99     }
100
101     public void setLang(String JavaDoc lang) {
102         this.lang = lang;
103     }
104
105     public void setOnblur(String JavaDoc onblur) {
106         this.onblur = onblur;
107     }
108
109     public void setOnchange(String JavaDoc onchange) {
110         this.onchange = onchange;
111     }
112
113     public void setOnclick(String JavaDoc onclick) {
114         this.onclick = onclick;
115     }
116
117     public void setOndblclick(String JavaDoc ondblclick) {
118         this.ondblclick = ondblclick;
119     }
120
121     public void setOnfocus(String JavaDoc onfocus) {
122         this.onfocus = onfocus;
123     }
124
125     public void setOnkeydown(String JavaDoc onkeydown) {
126         this.onkeydown = onkeydown;
127     }
128
129     public void setOnkeypress(String JavaDoc onkeypress) {
130         this.onkeypress = onkeypress;
131     }
132
133     public void setOnkeyup(String JavaDoc onkeyup) {
134         this.onkeyup = onkeyup;
135     }
136
137     public void setOnmousedown(String JavaDoc onmousedown) {
138         this.onmousedown = onmousedown;
139     }
140
141     public void setOnmousemove(String JavaDoc onmousemove) {
142         this.onmousemove = onmousemove;
143     }
144
145     public void setOnmouseout(String JavaDoc onmouseout) {
146         this.onmouseout = onmouseout;
147     }
148
149     public void setOnmouseover(String JavaDoc onmouseover) {
150         this.onmouseover = onmouseover;
151     }
152
153     public void setOnmouseup(String JavaDoc onmouseup) {
154         this.onmouseup = onmouseup;
155     }
156
157     public void setOnselect(String JavaDoc onselect) {
158         this.onselect = onselect;
159     }
160
161     public void setReadonly(String JavaDoc readonly) {
162         this.readonly = readonly;
163     }
164
165     public void setStyle(String JavaDoc style) {
166         this.style = style;
167     }
168
169     public void setStyleClass(String JavaDoc styleClass) {
170         this.styleClass = styleClass;
171     }
172
173     public void setTabindex(String JavaDoc tabindex) {
174         this.tabindex = tabindex;
175     }
176
177     public void setTitle(String JavaDoc title) {
178         this.title = title;
179     }
180
181
182     public String JavaDoc getRendererType() {
183         return "javax.faces.Checkbox";
184     }
185
186     public String JavaDoc getComponentType() {
187         return "javax.faces.HtmlSelectBooleanCheckbox";
188     }
189
190
191     protected void setProperties(UIComponent component) {
192         super.setProperties(component);
193
194         UISelectBoolean select;
195         try {
196             select = (UISelectBoolean) component;
197         } catch (ClassCastException JavaDoc cce) {
198             throw new FacesException("Tag <" + getClass().getName() + "> expected UISelectBoolean. " +
199                                      "Got <" + component.getClass().getName() + ">");
200         }
201
202         if (converter != null) {
203             if (FacesUtils.isExpression(converter)) {
204                 select.setValueBinding("converter", createValueBinding(converter));
205             } else {
206                 select.setConverter(getApplication().createConverter(converter));
207             }
208         }
209
210         if (immediate != null) {
211             if (FacesUtils.isExpression(immediate)) {
212                 select.setValueBinding("immediate", createValueBinding(immediate));
213             } else {
214                 select.setImmediate(BooleanUtils.toBoolean(immediate));
215             }
216         }
217
218         if (required != null) {
219             if (FacesUtils.isExpression(required)) {
220                 select.setValueBinding("required", createValueBinding(required));
221             } else {
222                 select.setRequired(BooleanUtils.toBoolean(required));
223             }
224         }
225
226         if (validator != null) {
227             if (FacesUtils.isExpression(validator)) {
228                 MethodBinding vb = getApplication().createMethodBinding(validator,
229                                                                         new Class JavaDoc[]{ FacesContext.class, UIComponent.class, Object JavaDoc.class });
230                 select.setValidator(vb);
231             } else {
232                 throw new FacesException("Tag <" + getClass().getName() + "> validator must be an expression. " +
233                                          "Got <" + validator + ">");
234             }
235         }
236
237         if (value != null) {
238             if (FacesUtils.isExpression(value)) {
239                 select.setValueBinding("value", createValueBinding(value));
240             } else {
241                 select.setValue(value);
242             }
243         }
244
245         if (valueChangeListener != null) {
246             if (FacesUtils.isExpression(valueChangeListener)) {
247                 MethodBinding vb = getApplication().createMethodBinding(valueChangeListener,
248                                                                         new Class JavaDoc[]{ ValueChangeEvent.class });
249                 select.setValueChangeListener(vb);
250             } else {
251                 throw new FacesException("Tag <" + getClass().getName() + "> valueChangeListener must be an expression. " +
252                                          "Got <" + valueChangeListener + ">");
253             }
254         }
255
256         setProperty(component, "accesskey", accesskey);
257         setProperty(component, "dir", dir);
258
259         setBooleanProperty(component, "disabled", disabled);
260
261         setProperty(component, "lang", lang);
262         setProperty(component, "onblur", onblur);
263         setProperty(component, "onchange", onchange);
264         setProperty(component, "onclick", onclick);
265         setProperty(component, "ondblclick", ondblclick);
266         setProperty(component, "onfocus", onfocus);
267         setProperty(component, "onkeydown", onkeydown);
268         setProperty(component, "onkeypress", onkeypress);
269         setProperty(component, "onkeyup", onkeyup);
270         setProperty(component, "onmousedown", onmousedown);
271         setProperty(component, "onmousemove", onmousemove);
272         setProperty(component, "onmouseout", onmouseout);
273         setProperty(component, "onmouseover", onmouseover);
274         setProperty(component, "onmouseup", onmouseup);
275         setProperty(component, "onselect", onselect);
276
277         setBooleanProperty(component, "readonly", readonly);
278
279         setProperty(component, "style", style);
280         setProperty(component, "styleClass", styleClass);
281         setProperty(component, "tabindex", tabindex);
282         setProperty(component, "title", title);
283     }
284
285     public void recycle() {
286         super.recycle();
287         converter = null;
288         immediate = null;
289         required = null;
290         validator = null;
291         value = null;
292         valueChangeListener = null;
293         accesskey = null;
294         dir = null;
295         disabled = null;
296         lang = null;
297         onblur = null;
298         onchange = null;
299         onclick = null;
300         ondblclick = null;
301         onfocus = null;
302         onkeydown = null;
303         onkeypress = null;
304         onkeyup = null;
305         onmousedown = null;
306         onmousemove = null;
307         onmouseout = null;
308         onmouseover = null;
309         onmouseup = null;
310         onselect = null;
311         readonly = null;
312         style = null;
313         styleClass = null;
314         tabindex = null;
315         title = null;
316     }
317 }
318
Popular Tags