1 33 34 package com.icesoft.faces.component.ext; 35 36 import com.icesoft.faces.component.CSS_DEFAULT; 37 import com.icesoft.faces.component.ext.taglib.Util; 38 import com.icesoft.faces.context.effects.CurrentStyle; 39 import com.icesoft.faces.context.effects.Effect; 40 import com.icesoft.faces.context.effects.JavascriptContext; 41 42 import javax.faces.context.FacesContext; 43 import javax.faces.el.ValueBinding; 44 45 52 public class HtmlOutputLink extends javax.faces.component.html.HtmlOutputLink { 53 public static final String COMPONENT_TYPE = 54 "com.icesoft.faces.HtmlOutputLink"; 55 public static final String RENDERER_TYPE = "com.icesoft.faces.Link"; 56 private static final boolean DEFAULT_VISIBLE = true; 57 private String renderedOnUserRole = null; 58 private String enabledOnUserRole = null; 59 private Boolean disabled = null; 60 private Effect effect; 61 private Boolean visible = null; 62 private String styleClass = null; 63 private CurrentStyle currentStyle; 64 65 66 private Effect onclickeffect; 67 private Effect ondblclickeffect; 68 private Effect onmousedowneffect; 69 private Effect onmouseupeffect; 70 private Effect onmousemoveeffect; 71 private Effect onmouseovereffect; 72 private Effect onmouseouteffect; 73 private Effect onkeypresseffect; 74 private Effect onkeydowneffect; 75 private Effect onkeyupeffect; 76 77 public HtmlOutputLink() { 78 super(); 79 setRendererType(RENDERER_TYPE); 80 } 81 82 public void setValueBinding(String s, ValueBinding vb) { 83 if (s != null && s.indexOf("effect") != -1) { 84 JavascriptContext.includeLib(JavascriptContext.ICE_EXTRAS, 86 getFacesContext()); 87 } 88 super.setValueBinding(s, vb); 89 } 90 91 94 public void setVisible(boolean visible) { 95 this.visible = Boolean.valueOf(visible); 96 97 } 98 99 102 public boolean getVisible() { 103 if (visible != null) { 104 return visible.booleanValue(); 105 } 106 ValueBinding vb = getValueBinding("visible"); 107 Boolean boolVal = 108 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 109 return boolVal != null ? boolVal.booleanValue() : DEFAULT_VISIBLE; 110 } 111 112 115 public void setEffect(Effect effect) { 116 JavascriptContext 117 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 118 this.effect = effect; 119 } 120 121 124 public Effect getEffect() { 125 if (effect != null) { 126 return effect; 127 } 128 ValueBinding vb = getValueBinding("effect"); 129 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 130 } 131 132 135 public void setRenderedOnUserRole(String renderedOnUserRole) { 136 this.renderedOnUserRole = renderedOnUserRole; 137 } 138 139 142 public String getRenderedOnUserRole() { 143 if (renderedOnUserRole != null) { 144 return renderedOnUserRole; 145 } 146 ValueBinding vb = getValueBinding("renderedOnUserRole"); 147 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 148 } 149 150 153 public void setEnabledOnUserRole(String enabledOnUserRole) { 154 this.enabledOnUserRole = enabledOnUserRole; 155 } 156 157 160 public String getEnabledOnUserRole() { 161 if (enabledOnUserRole != null) { 162 return enabledOnUserRole; 163 } 164 ValueBinding vb = getValueBinding("enabledOnUserRole"); 165 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 166 } 167 168 171 public void setStyleClass(String styleClass) { 172 this.styleClass = styleClass; 173 } 174 175 178 public String getStyleClass() { 179 return Util.getQualifiedStyleClass(this, 180 styleClass, 181 CSS_DEFAULT.OUTPUT_LINK_DEFAULT_STYLE_CLASS, 182 "styleClass", 183 isDisabled()); 184 } 185 186 189 public boolean isRendered() { 190 if (!Util.isRenderedOnUserRole(this)) { 191 return false; 192 } 193 return super.isRendered(); 194 } 195 196 199 public Effect getOnclickeffect() { 200 if (onclickeffect != null) { 201 return onclickeffect; 202 } 203 ValueBinding vb = getValueBinding("onclickeffect"); 204 205 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 206 } 207 208 211 public void setOnclickeffect(Effect onclickeffect) { 212 JavascriptContext 213 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 214 this.onclickeffect = onclickeffect; 215 } 216 217 220 public void setDisabled(boolean disabled) { 221 this.disabled = new Boolean (disabled); 222 ValueBinding vb = getValueBinding("disabled"); 223 if (vb != null) { 224 vb.setValue(getFacesContext(), this.disabled); 225 this.disabled = null; 226 } 227 } 228 229 232 public boolean isDisabled() { 233 if (!Util.isEnabledOnUserRole(this)) { 234 return true; 235 } 236 if (disabled != null) { 237 return disabled.booleanValue(); 238 } 239 ValueBinding vb = getValueBinding("disabled"); 240 Boolean v = 241 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 242 return v != null ? v.booleanValue() : false; 243 } 244 245 248 public Effect getOndblclickeffect() { 249 if (ondblclickeffect != null) { 250 return ondblclickeffect; 251 } 252 ValueBinding vb = getValueBinding("ondblclickeffect"); 253 254 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 255 } 256 257 260 public void setOndblclickeffect(Effect ondblclickeffect) { 261 JavascriptContext 262 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 263 this.ondblclickeffect = ondblclickeffect; 264 } 265 266 269 public Effect getOnmousedowneffect() { 270 if (onmousedowneffect != null) { 271 return onmousedowneffect; 272 } 273 ValueBinding vb = getValueBinding("onmousedowneffect"); 274 275 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 276 } 277 278 281 public void setOnmousedowneffect(Effect onmousedowneffect) { 282 JavascriptContext 283 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 284 this.onmousedowneffect = onmousedowneffect; 285 } 286 287 290 public Effect getOnmouseupeffect() { 291 if (onmouseupeffect != null) { 292 return onmouseupeffect; 293 } 294 ValueBinding vb = getValueBinding("onmouseupeffect"); 295 296 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 297 } 298 299 302 public void setOnmouseupeffect(Effect onmouseupeffect) { 303 JavascriptContext 304 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 305 this.onmouseupeffect = onmouseupeffect; 306 } 307 308 311 public Effect getOnmousemoveeffect() { 312 if (onmousemoveeffect != null) { 313 return onmousemoveeffect; 314 } 315 ValueBinding vb = getValueBinding("onmousemoveeffect"); 316 317 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 318 } 319 320 323 public void setOnmousemoveeffect(Effect onmousemoveeffect) { 324 JavascriptContext 325 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 326 this.onmousemoveeffect = onmousemoveeffect; 327 } 328 329 332 public Effect getOnmouseovereffect() { 333 if (onmouseovereffect != null) { 334 return onmouseovereffect; 335 } 336 ValueBinding vb = getValueBinding("onmouseovereffect"); 337 338 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 339 } 340 341 344 public void setOnmouseovereffect(Effect onmouseovereffect) { 345 JavascriptContext 346 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 347 this.onmouseovereffect = onmouseovereffect; 348 } 349 350 353 public Effect getOnmouseouteffect() { 354 if (onmouseouteffect != null) { 355 return onmouseouteffect; 356 } 357 ValueBinding vb = getValueBinding("onmouseouteffect"); 358 359 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 360 } 361 362 365 public void setOnmouseouteffect(Effect onmouseouteffect) { 366 JavascriptContext 367 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 368 this.onmouseouteffect = onmouseouteffect; 369 } 370 371 372 375 public Effect getOnkeypresseffect() { 376 if (onkeypresseffect != null) { 377 return onkeypresseffect; 378 } 379 ValueBinding vb = getValueBinding("onkeypresseffect"); 380 381 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 382 } 383 384 387 public void setOnkeypresseffect(Effect onkeypresseffect) { 388 JavascriptContext 389 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 390 this.onkeypresseffect = onkeypresseffect; 391 } 392 393 396 public Effect getOnkeydowneffect() { 397 if (onkeydowneffect != null) { 398 return onkeydowneffect; 399 } 400 ValueBinding vb = getValueBinding("onkeydowneffect"); 401 402 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 403 } 404 405 408 public void setOnkeydowneffect(Effect onkeydowneffect) { 409 JavascriptContext 410 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 411 this.onkeydowneffect = onkeydowneffect; 412 } 413 414 417 public Effect getOnkeyupeffect() { 418 if (onkeyupeffect != null) { 419 return onkeyupeffect; 420 } 421 ValueBinding vb = getValueBinding("onkeyupeffect"); 422 423 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 424 } 425 426 429 public void setOnkeyupeffect(Effect onkeyupeffect) { 430 JavascriptContext 431 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 432 this.onkeyupeffect = onkeyupeffect; 433 } 434 435 438 public CurrentStyle getCurrentStyle() { 439 return currentStyle; 440 } 441 442 445 public void setCurrentStyle(CurrentStyle currentStyle) { 446 this.currentStyle = currentStyle; 447 } 448 449 450 454 public Object saveState(FacesContext context) { 455 Object values[] = new Object [21]; 456 values[0] = super.saveState(context); 457 values[1] = renderedOnUserRole; 458 values[2] = effect; 459 values[3] = onclickeffect; 460 values[4] = ondblclickeffect; 461 values[5] = onmousedowneffect; 462 values[6] = onmouseupeffect; 463 values[7] = onmousemoveeffect; 464 values[8] = onmouseovereffect; 465 values[9] = onmouseouteffect; 466 values[13] = onkeypresseffect; 467 values[14] = onkeydowneffect; 468 values[15] = onkeyupeffect; 469 values[16] = enabledOnUserRole; 470 values[17] = disabled; 471 values[18] = currentStyle; 472 values[19] = visible; 473 values[20] = styleClass; 474 return ((Object ) (values)); 475 } 476 477 481 public void restoreState(FacesContext context, Object state) { 482 Object values[] = (Object []) state; 483 super.restoreState(context, values[0]); 484 renderedOnUserRole = (String ) values[1]; 485 effect = (Effect) values[2]; 486 onclickeffect = (Effect) values[3]; 487 ondblclickeffect = (Effect) values[4]; 488 onmousedowneffect = (Effect) values[5]; 489 onmouseupeffect = (Effect) values[6]; 490 onmousemoveeffect = (Effect) values[7]; 491 onmouseovereffect = (Effect) values[8]; 492 onmouseouteffect = (Effect) values[9]; 493 onkeypresseffect = (Effect) values[13]; 494 onkeydowneffect = (Effect) values[14]; 495 onkeyupeffect = (Effect) values[15]; 496 enabledOnUserRole = (String ) values[16]; 497 disabled = (Boolean ) values[17]; 498 currentStyle = (CurrentStyle) values[18]; 499 visible = (Boolean ) values[19]; 500 styleClass = (String ) values[20]; 501 } 502 } 503 | Popular Tags |