1 /*
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
3 *
4 * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
5 *
6 * The contents of this file are subject to the terms of either the GNU
7 * General Public License Version 2 only ("GPL") or the Common Development
8 * and Distribution License("CDDL") (collectively, the "License"). You
9 * may not use this file except in compliance with the License. You can obtain
10 * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
11 * or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
12 * language governing permissions and limitations under the License.
13 *
14 * When distributing the software, include this License Header Notice in each
15 * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
16 * Sun designates this particular file as subject to the "Classpath" exception
17 * as provided by Sun in the GPL Version 2 section of the License file that
18 * accompanied this code. If applicable, add the following below the License
19 * Header, with the fields enclosed by brackets [] replaced by your own
20 * identifying information: "Portions Copyrighted [year]
21 * [name of copyright owner]"
22 *
23 * Contributor(s):
24 *
25 * If you wish your version of this file to be governed by only the CDDL or
26 * only the GPL Version 2, indicate your decision by adding "[Contributor]
27 * elects to include this software in this distribution under the [CDDL or GPL
28 * Version 2] license." If you don't indicate a single choice of license, a
29 * recipient has the option to distribute your version of this file under
30 * either the CDDL, the GPL Version 2 or to extend the choice of license to
31 * its licensees as provided above. However, if you add GPL Version 2 code
32 * and therefore, elected the GPL Version 2 license, then the option applies
33 * only if the new code is made subject to such option by the copyright
34 * holder.
35 */
36 package javax.faces.component.html;
37
38 import java.io.IOException;
39 import java.util.List;
40 import java.util.ArrayList;
41 import java.util.Arrays;
42
43 import javax.faces.context.FacesContext;
44 import javax.el.MethodExpression;
45 import javax.el.ValueExpression;
46
47
48 /*
49 * ******* GENERATED CODE - DO NOT EDIT *******
50 */
51
52
53 /**
54 * <p>Represents a multiple-selection component that is rendered
55 * as a set of HTML <code>input</code> elements of type
56 * <code>checkbox</code>.</p>
57 * <p>By default, the <code>rendererType</code> property must be set to "<code>javax.faces.Checkbox</code>".
58 * This value can be changed by calling the <code>setRendererType()</code> method.</p>
59 */
60 public class HtmlSelectManyCheckbox extends javax.faces.component.UISelectMany {
61
62
63
64 private static final String[] OPTIMIZED_PACKAGES = {
65 "javax.faces.component",
66 "javax.faces.component.html"
67 };
68
69 public HtmlSelectManyCheckbox() {
70 super();
71 setRendererType("javax.faces.Checkbox");
72 }
73
74
75 /**
76 * <p>The standard component type for this component.</p>
77 */
78 public static final String COMPONENT_TYPE = "javax.faces.HtmlSelectManyCheckbox";
79
80
81 private java.lang.String accesskey;
82 /**
83 * <p>Return the value of the <code>accesskey</code> property.</p>
84 * <p>Contents: Access key that, when pressed, transfers focus
85 * to this element.
86 */
87 public java.lang.String getAccesskey() {
88 if (null != this.accesskey) {
89 return this.accesskey;
90 }
91 ValueExpression _ve = getValueExpression("accesskey");
92 if (_ve != null) {
93 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
94 } else {
95 return null;
96 }
97 }
98
99 /**
100 * <p>Set the value of the <code>accesskey</code> property.</p>
101 */
102 public void setAccesskey(java.lang.String accesskey) {
103 this.accesskey = accesskey;
104 handleAttribute("accesskey", accesskey);
105 }
106
107
108 private java.lang.Integer border;
109 /**
110 * <p>Return the value of the <code>border</code> property.</p>
111 * <p>Contents: Width (in pixels) of the border to be drawn
112 * around the table containing the options list.
113 */
114 public int getBorder() {
115 if (null != this.border) {
116 return this.border;
117 }
118 ValueExpression _ve = getValueExpression("border");
119 if (_ve != null) {
120 return (java.lang.Integer) _ve.getValue(getFacesContext().getELContext());
121 } else {
122 return Integer.MIN_VALUE;
123 }
124 }
125
126 /**
127 * <p>Set the value of the <code>border</code> property.</p>
128 */
129 public void setBorder(int border) {
130 this.border = border;
131 handleAttribute("border", border);
132 }
133
134
135 private java.lang.String dir;
136 /**
137 * <p>Return the value of the <code>dir</code> property.</p>
138 * <p>Contents: Direction indication for text that does not inherit directionality.
139 * Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).
140 */
141 public java.lang.String getDir() {
142 if (null != this.dir) {
143 return this.dir;
144 }
145 ValueExpression _ve = getValueExpression("dir");
146 if (_ve != null) {
147 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
148 } else {
149 return null;
150 }
151 }
152
153 /**
154 * <p>Set the value of the <code>dir</code> property.</p>
155 */
156 public void setDir(java.lang.String dir) {
157 this.dir = dir;
158 handleAttribute("dir", dir);
159 }
160
161
162 private java.lang.Boolean disabled;
163 /**
164 * <p>Return the value of the <code>disabled</code> property.</p>
165 * <p>Contents: Flag indicating that this element must never receive focus or
166 * be included in a subsequent submit. A value of false causes
167 * no attribute to be rendered, while a value of true causes the
168 * attribute to be rendered as disabled="disabled".
169 */
170 public boolean isDisabled() {
171 if (null != this.disabled) {
172 return this.disabled;
173 }
174 ValueExpression _ve = getValueExpression("disabled");
175 if (_ve != null) {
176 return (java.lang.Boolean) _ve.getValue(getFacesContext().getELContext());
177 } else {
178 return false;
179 }
180 }
181
182 /**
183 * <p>Set the value of the <code>disabled</code> property.</p>
184 */
185 public void setDisabled(boolean disabled) {
186 this.disabled = disabled;
187 }
188
189
190 private java.lang.String disabledClass;
191 /**
192 * <p>Return the value of the <code>disabledClass</code> property.</p>
193 * <p>Contents: CSS style class to apply to the rendered label
194 * on disabled options.
195 */
196 public java.lang.String getDisabledClass() {
197 if (null != this.disabledClass) {
198 return this.disabledClass;
199 }
200 ValueExpression _ve = getValueExpression("disabledClass");
201 if (_ve != null) {
202 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
203 } else {
204 return null;
205 }
206 }
207
208 /**
209 * <p>Set the value of the <code>disabledClass</code> property.</p>
210 */
211 public void setDisabledClass(java.lang.String disabledClass) {
212 this.disabledClass = disabledClass;
213 }
214
215
216 private java.lang.String enabledClass;
217 /**
218 * <p>Return the value of the <code>enabledClass</code> property.</p>
219 * <p>Contents: CSS style class to apply to the rendered label
220 * on enabled options.
221 */
222 public java.lang.String getEnabledClass() {
223 if (null != this.enabledClass) {
224 return this.enabledClass;
225 }
226 ValueExpression _ve = getValueExpression("enabledClass");
227 if (_ve != null) {
228 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
229 } else {
230 return null;
231 }
232 }
233
234 /**
235 * <p>Set the value of the <code>enabledClass</code> property.</p>
236 */
237 public void setEnabledClass(java.lang.String enabledClass) {
238 this.enabledClass = enabledClass;
239 }
240
241
242 private java.lang.String label;
243 /**
244 * <p>Return the value of the <code>label</code> property.</p>
245 * <p>Contents: A localized user presentable name for this component.
246 */
247 public java.lang.String getLabel() {
248 if (null != this.label) {
249 return this.label;
250 }
251 ValueExpression _ve = getValueExpression("label");
252 if (_ve != null) {
253 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
254 } else {
255 return null;
256 }
257 }
258
259 /**
260 * <p>Set the value of the <code>label</code> property.</p>
261 */
262 public void setLabel(java.lang.String label) {
263 this.label = label;
264 }
265
266
267 private java.lang.String lang;
268 /**
269 * <p>Return the value of the <code>lang</code> property.</p>
270 * <p>Contents: Code describing the language used in the generated markup
271 * for this component.
272 */
273 public java.lang.String getLang() {
274 if (null != this.lang) {
275 return this.lang;
276 }
277 ValueExpression _ve = getValueExpression("lang");
278 if (_ve != null) {
279 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
280 } else {
281 return null;
282 }
283 }
284
285 /**
286 * <p>Set the value of the <code>lang</code> property.</p>
287 */
288 public void setLang(java.lang.String lang) {
289 this.lang = lang;
290 handleAttribute("lang", lang);
291 }
292
293
294 private java.lang.String layout;
295 /**
296 * <p>Return the value of the <code>layout</code> property.</p>
297 * <p>Contents: Orientation of the options list to be created.
298 * Valid values are "pageDirection" (list is laid out vertically), or "lineDirection" (list is
299 * laid out horizontally). If not specified, the
300 * default value is "lineDirection".
301 */
302 public java.lang.String getLayout() {
303 if (null != this.layout) {
304 return this.layout;
305 }
306 ValueExpression _ve = getValueExpression("layout");
307 if (_ve != null) {
308 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
309 } else {
310 return null;
311 }
312 }
313
314 /**
315 * <p>Set the value of the <code>layout</code> property.</p>
316 */
317 public void setLayout(java.lang.String layout) {
318 this.layout = layout;
319 }
320
321
322 private java.lang.String onblur;
323 /**
324 * <p>Return the value of the <code>onblur</code> property.</p>
325 * <p>Contents: Javascript code executed when this element loses focus.
326 */
327 public java.lang.String getOnblur() {
328 if (null != this.onblur) {
329 return this.onblur;
330 }
331 ValueExpression _ve = getValueExpression("onblur");
332 if (_ve != null) {
333 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
334 } else {
335 return null;
336 }
337 }
338
339 /**
340 * <p>Set the value of the <code>onblur</code> property.</p>
341 */
342 public void setOnblur(java.lang.String onblur) {
343 this.onblur = onblur;
344 handleAttribute("onblur", onblur);
345 }
346
347
348 private java.lang.String onchange;
349 /**
350 * <p>Return the value of the <code>onchange</code> property.</p>
351 * <p>Contents: Javascript code executed when this element loses focus
352 * and its value has been modified since gaining focus.
353 */
354 public java.lang.String getOnchange() {
355 if (null != this.onchange) {
356 return this.onchange;
357 }
358 ValueExpression _ve = getValueExpression("onchange");
359 if (_ve != null) {
360 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
361 } else {
362 return null;
363 }
364 }
365
366 /**
367 * <p>Set the value of the <code>onchange</code> property.</p>
368 */
369 public void setOnchange(java.lang.String onchange) {
370 this.onchange = onchange;
371 handleAttribute("onchange", onchange);
372 }
373
374
375 private java.lang.String onclick;
376 /**
377 * <p>Return the value of the <code>onclick</code> property.</p>
378 * <p>Contents: Javascript code executed when a pointer button is
379 * clicked over this element.
380 */
381 public java.lang.String getOnclick() {
382 if (null != this.onclick) {
383 return this.onclick;
384 }
385 ValueExpression _ve = getValueExpression("onclick");
386 if (_ve != null) {
387 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
388 } else {
389 return null;
390 }
391 }
392
393 /**
394 * <p>Set the value of the <code>onclick</code> property.</p>
395 */
396 public void setOnclick(java.lang.String onclick) {
397 this.onclick = onclick;
398 handleAttribute("onclick", onclick);
399 }
400
401
402 private java.lang.String ondblclick;
403 /**
404 * <p>Return the value of the <code>ondblclick</code> property.</p>
405 * <p>Contents: Javascript code executed when a pointer button is
406 * double clicked over this element.
407 */
408 public java.lang.String getOndblclick() {
409 if (null != this.ondblclick) {
410 return this.ondblclick;
411 }
412 ValueExpression _ve = getValueExpression("ondblclick");
413 if (_ve != null) {
414 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
415 } else {
416 return null;
417 }
418 }
419
420 /**
421 * <p>Set the value of the <code>ondblclick</code> property.</p>
422 */
423 public void setOndblclick(java.lang.String ondblclick) {
424 this.ondblclick = ondblclick;
425 handleAttribute("ondblclick", ondblclick);
426 }
427
428
429 private java.lang.String onfocus;
430 /**
431 * <p>Return the value of the <code>onfocus</code> property.</p>
432 * <p>Contents: Javascript code executed when this element receives focus.
433 */
434 public java.lang.String getOnfocus() {
435 if (null != this.onfocus) {
436 return this.onfocus;
437 }
438 ValueExpression _ve = getValueExpression("onfocus");
439 if (_ve != null) {
440 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
441 } else {
442 return null;
443 }
444 }
445
446 /**
447 * <p>Set the value of the <code>onfocus</code> property.</p>
448 */
449 public void setOnfocus(java.lang.String onfocus) {
450 this.onfocus = onfocus;
451 handleAttribute("onfocus", onfocus);
452 }
453
454
455 private java.lang.String onkeydown;
456 /**
457 * <p>Return the value of the <code>onkeydown</code> property.</p>
458 * <p>Contents: Javascript code executed when a key is
459 * pressed down over this element.
460 */
461 public java.lang.String getOnkeydown() {
462 if (null != this.onkeydown) {
463 return this.onkeydown;
464 }
465 ValueExpression _ve = getValueExpression("onkeydown");
466 if (_ve != null) {
467 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
468 } else {
469 return null;
470 }
471 }
472
473 /**
474 * <p>Set the value of the <code>onkeydown</code> property.</p>
475 */
476 public void setOnkeydown(java.lang.String onkeydown) {
477 this.onkeydown = onkeydown;
478 handleAttribute("onkeydown", onkeydown);
479 }
480
481
482 private java.lang.String onkeypress;
483 /**
484 * <p>Return the value of the <code>onkeypress</code> property.</p>
485 * <p>Contents: Javascript code executed when a key is
486 * pressed and released over this element.
487 */
488 public java.lang.String getOnkeypress() {
489 if (null != this.onkeypress) {
490 return this.onkeypress;
491 }
492 ValueExpression _ve = getValueExpression("onkeypress");
493 if (_ve != null) {
494 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
495 } else {
496 return null;
497 }
498 }
499
500 /**
501 * <p>Set the value of the <code>onkeypress</code> property.</p>
502 */
503 public void setOnkeypress(java.lang.String onkeypress) {
504 this.onkeypress = onkeypress;
505 handleAttribute("onkeypress", onkeypress);
506 }
507
508
509 private java.lang.String onkeyup;
510 /**
511 * <p>Return the value of the <code>onkeyup</code> property.</p>
512 * <p>Contents: Javascript code executed when a key is
513 * released over this element.
514 */
515 public java.lang.String getOnkeyup() {
516 if (null != this.onkeyup) {
517 return this.onkeyup;
518 }
519 ValueExpression _ve = getValueExpression("onkeyup");
520 if (_ve != null) {
521 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
522 } else {
523 return null;
524 }
525 }
526
527 /**
528 * <p>Set the value of the <code>onkeyup</code> property.</p>
529 */
530 public void setOnkeyup(java.lang.String onkeyup) {
531 this.onkeyup = onkeyup;
532 handleAttribute("onkeyup", onkeyup);
533 }
534
535
536 private java.lang.String onmousedown;
537 /**
538 * <p>Return the value of the <code>onmousedown</code> property.</p>
539 * <p>Contents: Javascript code executed when a pointer button is
540 * pressed down over this element.
541 */
542 public java.lang.String getOnmousedown() {
543 if (null != this.onmousedown) {
544 return this.onmousedown;
545 }
546 ValueExpression _ve = getValueExpression("onmousedown");
547 if (_ve != null) {
548 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
549 } else {
550 return null;
551 }
552 }
553
554 /**
555 * <p>Set the value of the <code>onmousedown</code> property.</p>
556 */
557 public void setOnmousedown(java.lang.String onmousedown) {
558 this.onmousedown = onmousedown;
559 handleAttribute("onmousedown", onmousedown);
560 }
561
562
563 private java.lang.String onmousemove;
564 /**
565 * <p>Return the value of the <code>onmousemove</code> property.</p>
566 * <p>Contents: Javascript code executed when a pointer button is
567 * moved within this element.
568 */
569 public java.lang.String getOnmousemove() {
570 if (null != this.onmousemove) {
571 return this.onmousemove;
572 }
573 ValueExpression _ve = getValueExpression("onmousemove");
574 if (_ve != null) {
575 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
576 } else {
577 return null;
578 }
579 }
580
581 /**
582 * <p>Set the value of the <code>onmousemove</code> property.</p>
583 */
584 public void setOnmousemove(java.lang.String onmousemove) {
585 this.onmousemove = onmousemove;
586 handleAttribute("onmousemove", onmousemove);
587 }
588
589
590 private java.lang.String onmouseout;
591 /**
592 * <p>Return the value of the <code>onmouseout</code> property.</p>
593 * <p>Contents: Javascript code executed when a pointer button is
594 * moved away from this element.
595 */
596 public java.lang.String getOnmouseout() {
597 if (null != this.onmouseout) {
598 return this.onmouseout;
599 }
600 ValueExpression _ve = getValueExpression("onmouseout");
601 if (_ve != null) {
602 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
603 } else {
604 return null;
605 }
606 }
607
608 /**
609 * <p>Set the value of the <code>onmouseout</code> property.</p>
610 */
611 public void setOnmouseout(java.lang.String onmouseout) {
612 this.onmouseout = onmouseout;
613 handleAttribute("onmouseout", onmouseout);
614 }
615
616
617 private java.lang.String onmouseover;
618 /**
619 * <p>Return the value of the <code>onmouseover</code> property.</p>
620 * <p>Contents: Javascript code executed when a pointer button is
621 * moved onto this element.
622 */
623 public java.lang.String getOnmouseover() {
624 if (null != this.onmouseover) {
625 return this.onmouseover;
626 }
627 ValueExpression _ve = getValueExpression("onmouseover");
628 if (_ve != null) {
629 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
630 } else {
631 return null;
632 }
633 }
634
635 /**
636 * <p>Set the value of the <code>onmouseover</code> property.</p>
637 */
638 public void setOnmouseover(java.lang.String onmouseover) {
639 this.onmouseover = onmouseover;
640 handleAttribute("onmouseover", onmouseover);
641 }
642
643
644 private java.lang.String onmouseup;
645 /**
646 * <p>Return the value of the <code>onmouseup</code> property.</p>
647 * <p>Contents: Javascript code executed when a pointer button is
648 * released over this element.
649 */
650 public java.lang.String getOnmouseup() {
651 if (null != this.onmouseup) {
652 return this.onmouseup;
653 }
654 ValueExpression _ve = getValueExpression("onmouseup");
655 if (_ve != null) {
656 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
657 } else {
658 return null;
659 }
660 }
661
662 /**
663 * <p>Set the value of the <code>onmouseup</code> property.</p>
664 */
665 public void setOnmouseup(java.lang.String onmouseup) {
666 this.onmouseup = onmouseup;
667 handleAttribute("onmouseup", onmouseup);
668 }
669
670
671 private java.lang.String onselect;
672 /**
673 * <p>Return the value of the <code>onselect</code> property.</p>
674 * <p>Contents: Javascript code executed when text within this
675 * element is selected by the user.
676 */
677 public java.lang.String getOnselect() {
678 if (null != this.onselect) {
679 return this.onselect;
680 }
681 ValueExpression _ve = getValueExpression("onselect");
682 if (_ve != null) {
683 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
684 } else {
685 return null;
686 }
687 }
688
689 /**
690 * <p>Set the value of the <code>onselect</code> property.</p>
691 */
692 public void setOnselect(java.lang.String onselect) {
693 this.onselect = onselect;
694 handleAttribute("onselect", onselect);
695 }
696
697
698 private java.lang.Boolean readonly;
699 /**
700 * <p>Return the value of the <code>readonly</code> property.</p>
701 * <p>Contents: Flag indicating that this component will prohibit changes by
702 * the user. The element may receive focus unless it has also
703 * been disabled. A value of false causes
704 * no attribute to be rendered, while a value of true causes the
705 * attribute to be rendered as readonly="readonly".
706 */
707 public boolean isReadonly() {
708 if (null != this.readonly) {
709 return this.readonly;
710 }
711 ValueExpression _ve = getValueExpression("readonly");
712 if (_ve != null) {
713 return (java.lang.Boolean) _ve.getValue(getFacesContext().getELContext());
714 } else {
715 return false;
716 }
717 }
718
719 /**
720 * <p>Set the value of the <code>readonly</code> property.</p>
721 */
722 public void setReadonly(boolean readonly) {
723 this.readonly = readonly;
724 }
725
726
727 private java.lang.String style;
728 /**
729 * <p>Return the value of the <code>style</code> property.</p>
730 * <p>Contents: CSS style(s) to be applied when this component is rendered.
731 */
732 public java.lang.String getStyle() {
733 if (null != this.style) {
734 return this.style;
735 }
736 ValueExpression _ve = getValueExpression("style");
737 if (_ve != null) {
738 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
739 } else {
740 return null;
741 }
742 }
743
744 /**
745 * <p>Set the value of the <code>style</code> property.</p>
746 */
747 public void setStyle(java.lang.String style) {
748 this.style = style;
749 handleAttribute("style", style);
750 }
751
752
753 private java.lang.String styleClass;
754 /**
755 * <p>Return the value of the <code>styleClass</code> property.</p>
756 * <p>Contents: Space-separated list of CSS style class(es) to be applied when
757 * this element is rendered. This value must be passed through
758 * as the "class" attribute on generated markup.
759 */
760 public java.lang.String getStyleClass() {
761 if (null != this.styleClass) {
762 return this.styleClass;
763 }
764 ValueExpression _ve = getValueExpression("styleClass");
765 if (_ve != null) {
766 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
767 } else {
768 return null;
769 }
770 }
771
772 /**
773 * <p>Set the value of the <code>styleClass</code> property.</p>
774 */
775 public void setStyleClass(java.lang.String styleClass) {
776 this.styleClass = styleClass;
777 }
778
779
780 private java.lang.String tabindex;
781 /**
782 * <p>Return the value of the <code>tabindex</code> property.</p>
783 * <p>Contents: Position of this element in the tabbing order
784 * for the current document. This value must be
785 * an integer between 0 and 32767.
786 */
787 public java.lang.String getTabindex() {
788 if (null != this.tabindex) {
789 return this.tabindex;
790 }
791 ValueExpression _ve = getValueExpression("tabindex");
792 if (_ve != null) {
793 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
794 } else {
795 return null;
796 }
797 }
798
799 /**
800 * <p>Set the value of the <code>tabindex</code> property.</p>
801 */
802 public void setTabindex(java.lang.String tabindex) {
803 this.tabindex = tabindex;
804 handleAttribute("tabindex", tabindex);
805 }
806
807
808 private java.lang.String title;
809 /**
810 * <p>Return the value of the <code>title</code> property.</p>
811 * <p>Contents: Advisory title information about markup elements generated
812 * for this component.
813 */
814 public java.lang.String getTitle() {
815 if (null != this.title) {
816 return this.title;
817 }
818 ValueExpression _ve = getValueExpression("title");
819 if (_ve != null) {
820 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
821 } else {
822 return null;
823 }
824 }
825
826 /**
827 * <p>Set the value of the <code>title</code> property.</p>
828 */
829 public void setTitle(java.lang.String title) {
830 this.title = title;
831 handleAttribute("title", title);
832 }
833
834
835 private Object[] _values;
836
837 public Object saveState(FacesContext _context) {
838 if (_values == null) {
839 _values = new Object[29];
840 }
841 _values[0] = super.saveState(_context);
842 _values[1] = accesskey;
843 _values[2] = border;
844 _values[3] = dir;
845 _values[4] = disabled;
846 _values[5] = disabledClass;
847 _values[6] = enabledClass;
848 _values[7] = label;
849 _values[8] = lang;
850 _values[9] = layout;
851 _values[10] = onblur;
852 _values[11] = onchange;
853 _values[12] = onclick;
854 _values[13] = ondblclick;
855 _values[14] = onfocus;
856 _values[15] = onkeydown;
857 _values[16] = onkeypress;
858 _values[17] = onkeyup;
859 _values[18] = onmousedown;
860 _values[19] = onmousemove;
861 _values[20] = onmouseout;
862 _values[21] = onmouseover;
863 _values[22] = onmouseup;
864 _values[23] = onselect;
865 _values[24] = readonly;
866 _values[25] = style;
867 _values[26] = styleClass;
868 _values[27] = tabindex;
869 _values[28] = title;
870 return _values;
871 }
872
873
874 public void restoreState(FacesContext _context, Object _state) {
875 _values = (Object[]) _state;
876 super.restoreState(_context, _values[0]);
877 this.accesskey = (java.lang.String) _values[1];
878 this.border = (java.lang.Integer) _values[2];
879 this.dir = (java.lang.String) _values[3];
880 this.disabled = (java.lang.Boolean) _values[4];
881 this.disabledClass = (java.lang.String) _values[5];
882 this.enabledClass = (java.lang.String) _values[6];
883 this.label = (java.lang.String) _values[7];
884 this.lang = (java.lang.String) _values[8];
885 this.layout = (java.lang.String) _values[9];
886 this.onblur = (java.lang.String) _values[10];
887 this.onchange = (java.lang.String) _values[11];
888 this.onclick = (java.lang.String) _values[12];
889 this.ondblclick = (java.lang.String) _values[13];
890 this.onfocus = (java.lang.String) _values[14];
891 this.onkeydown = (java.lang.String) _values[15];
892 this.onkeypress = (java.lang.String) _values[16];
893 this.onkeyup = (java.lang.String) _values[17];
894 this.onmousedown = (java.lang.String) _values[18];
895 this.onmousemove = (java.lang.String) _values[19];
896 this.onmouseout = (java.lang.String) _values[20];
897 this.onmouseover = (java.lang.String) _values[21];
898 this.onmouseup = (java.lang.String) _values[22];
899 this.onselect = (java.lang.String) _values[23];
900 this.readonly = (java.lang.Boolean) _values[24];
901 this.style = (java.lang.String) _values[25];
902 this.styleClass = (java.lang.String) _values[26];
903 this.tabindex = (java.lang.String) _values[27];
904 this.title = (java.lang.String) _values[28];
905 }
906
907
908 private void handleAttribute(String name, Object value) {
909 List<String> setAttributes = null;
910 String pkg = this.getClass().getPackage().getName();
911 if (Arrays.binarySearch(OPTIMIZED_PACKAGES, pkg) >= 0) {
912 setAttributes = (List<String>) this.getAttributes().get("javax.faces.component.UIComponentBase.attributesThatAreSet");
913 if (setAttributes == null) {
914 setAttributes = new ArrayList<String>(6);
915 this.getAttributes().put("javax.faces.component.UIComponentBase.attributesThatAreSet", setAttributes);
916 }
917 if (value == null) {
918 setAttributes.remove(name);
919 } else if (!setAttributes.contains(name)) {
920 setAttributes.add(name);
921 }
922 }
923 }
924
925 }