KickJava   Java API By Example, From Geeks To Geeks.

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


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.UISelectMany;
25 import javax.faces.context.FacesContext;
26 import javax.faces.el.MethodBinding;
27 import javax.faces.event.ValueChangeEvent;
28
29 /**
30  * @version CVS $Id: SelectManyMenuTag.java 46253 2004-09-17 14:36:29Z vgritsenko $
31  */

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