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