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 set of repeating data (segregated into
55 * columns by child UIColumn components) that will
56 * be rendered in an HTML <code>table</code> element.</p>
57 * <p>By default, the <code>rendererType</code> property must be set to "<code>javax.faces.Table</code>".
58 * This value can be changed by calling the <code>setRendererType()</code> method.</p>
59 */
60 public class HtmlDataTable extends javax.faces.component.UIData {
61
62
63
64 private static final String[] OPTIMIZED_PACKAGES = {
65 "javax.faces.component",
66 "javax.faces.component.html"
67 };
68
69 public HtmlDataTable() {
70 super();
71 setRendererType("javax.faces.Table");
72 }
73
74
75 /**
76 * <p>The standard component type for this component.</p>
77 */
78 public static final String COMPONENT_TYPE = "javax.faces.HtmlDataTable";
79
80
81 private java.lang.String bgcolor;
82 /**
83 * <p>Return the value of the <code>bgcolor</code> property.</p>
84 * <p>Contents: Name or code of the background color for this table.
85 */
86 public java.lang.String getBgcolor() {
87 if (null != this.bgcolor) {
88 return this.bgcolor;
89 }
90 ValueExpression _ve = getValueExpression("bgcolor");
91 if (_ve != null) {
92 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
93 } else {
94 return null;
95 }
96 }
97
98 /**
99 * <p>Set the value of the <code>bgcolor</code> property.</p>
100 */
101 public void setBgcolor(java.lang.String bgcolor) {
102 this.bgcolor = bgcolor;
103 handleAttribute("bgcolor", bgcolor);
104 }
105
106
107 private java.lang.Integer border;
108 /**
109 * <p>Return the value of the <code>border</code> property.</p>
110 * <p>Contents: Width (in pixels) of the border to be drawn
111 * around this table.
112 */
113 public int getBorder() {
114 if (null != this.border) {
115 return this.border;
116 }
117 ValueExpression _ve = getValueExpression("border");
118 if (_ve != null) {
119 return (java.lang.Integer) _ve.getValue(getFacesContext().getELContext());
120 } else {
121 return Integer.MIN_VALUE;
122 }
123 }
124
125 /**
126 * <p>Set the value of the <code>border</code> property.</p>
127 */
128 public void setBorder(int border) {
129 this.border = border;
130 handleAttribute("border", border);
131 }
132
133
134 private java.lang.String captionClass;
135 /**
136 * <p>Return the value of the <code>captionClass</code> property.</p>
137 * <p>Contents: Space-separated list of CSS style class(es) that will be
138 * applied to any caption generated for this table.
139 */
140 public java.lang.String getCaptionClass() {
141 if (null != this.captionClass) {
142 return this.captionClass;
143 }
144 ValueExpression _ve = getValueExpression("captionClass");
145 if (_ve != null) {
146 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
147 } else {
148 return null;
149 }
150 }
151
152 /**
153 * <p>Set the value of the <code>captionClass</code> property.</p>
154 */
155 public void setCaptionClass(java.lang.String captionClass) {
156 this.captionClass = captionClass;
157 }
158
159
160 private java.lang.String captionStyle;
161 /**
162 * <p>Return the value of the <code>captionStyle</code> property.</p>
163 * <p>Contents: CSS style(s) to be applied when this caption is rendered.
164 */
165 public java.lang.String getCaptionStyle() {
166 if (null != this.captionStyle) {
167 return this.captionStyle;
168 }
169 ValueExpression _ve = getValueExpression("captionStyle");
170 if (_ve != null) {
171 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
172 } else {
173 return null;
174 }
175 }
176
177 /**
178 * <p>Set the value of the <code>captionStyle</code> property.</p>
179 */
180 public void setCaptionStyle(java.lang.String captionStyle) {
181 this.captionStyle = captionStyle;
182 }
183
184
185 private java.lang.String cellpadding;
186 /**
187 * <p>Return the value of the <code>cellpadding</code> property.</p>
188 * <p>Contents: Definition of how much space the user agent should
189 * leave between the border of each cell and its contents.
190 */
191 public java.lang.String getCellpadding() {
192 if (null != this.cellpadding) {
193 return this.cellpadding;
194 }
195 ValueExpression _ve = getValueExpression("cellpadding");
196 if (_ve != null) {
197 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
198 } else {
199 return null;
200 }
201 }
202
203 /**
204 * <p>Set the value of the <code>cellpadding</code> property.</p>
205 */
206 public void setCellpadding(java.lang.String cellpadding) {
207 this.cellpadding = cellpadding;
208 handleAttribute("cellpadding", cellpadding);
209 }
210
211
212 private java.lang.String cellspacing;
213 /**
214 * <p>Return the value of the <code>cellspacing</code> property.</p>
215 * <p>Contents: Definition of how much space the user agent should
216 * leave between the left side of the table and the
217 * leftmost column, the top of the table and the top of
218 * the top side of the topmost row, and so on for the
219 * right and bottom of the table. It also specifies
220 * the amount of space to leave between cells.
221 */
222 public java.lang.String getCellspacing() {
223 if (null != this.cellspacing) {
224 return this.cellspacing;
225 }
226 ValueExpression _ve = getValueExpression("cellspacing");
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>cellspacing</code> property.</p>
236 */
237 public void setCellspacing(java.lang.String cellspacing) {
238 this.cellspacing = cellspacing;
239 handleAttribute("cellspacing", cellspacing);
240 }
241
242
243 private java.lang.String columnClasses;
244 /**
245 * <p>Return the value of the <code>columnClasses</code> property.</p>
246 * <p>Contents: Comma-delimited list of CSS style classes that will be applied
247 * to the columns of this table. A space separated list of
248 * classes may also be specified for any individual column. If
249 * the number of elements in this list is less than the number of
250 * columns specified in the "columns" attribute, no "class"
251 * attribute is output for each column greater than the number of
252 * elements in the list. If the number of elements in the list
253 * is greater than the number of columns specified in the
254 * "columns" attribute, the elements at the posisiton in the list
255 * after the value of the "columns" attribute are ignored.
256 */
257 public java.lang.String getColumnClasses() {
258 if (null != this.columnClasses) {
259 return this.columnClasses;
260 }
261 ValueExpression _ve = getValueExpression("columnClasses");
262 if (_ve != null) {
263 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
264 } else {
265 return null;
266 }
267 }
268
269 /**
270 * <p>Set the value of the <code>columnClasses</code> property.</p>
271 */
272 public void setColumnClasses(java.lang.String columnClasses) {
273 this.columnClasses = columnClasses;
274 }
275
276
277 private java.lang.String dir;
278 /**
279 * <p>Return the value of the <code>dir</code> property.</p>
280 * <p>Contents: Direction indication for text that does not inherit directionality.
281 * Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).
282 */
283 public java.lang.String getDir() {
284 if (null != this.dir) {
285 return this.dir;
286 }
287 ValueExpression _ve = getValueExpression("dir");
288 if (_ve != null) {
289 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
290 } else {
291 return null;
292 }
293 }
294
295 /**
296 * <p>Set the value of the <code>dir</code> property.</p>
297 */
298 public void setDir(java.lang.String dir) {
299 this.dir = dir;
300 handleAttribute("dir", dir);
301 }
302
303
304 private java.lang.String footerClass;
305 /**
306 * <p>Return the value of the <code>footerClass</code> property.</p>
307 * <p>Contents: Space-separated list of CSS style class(es) that will be
308 * applied to any footer generated for this table.
309 */
310 public java.lang.String getFooterClass() {
311 if (null != this.footerClass) {
312 return this.footerClass;
313 }
314 ValueExpression _ve = getValueExpression("footerClass");
315 if (_ve != null) {
316 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
317 } else {
318 return null;
319 }
320 }
321
322 /**
323 * <p>Set the value of the <code>footerClass</code> property.</p>
324 */
325 public void setFooterClass(java.lang.String footerClass) {
326 this.footerClass = footerClass;
327 }
328
329
330 private java.lang.String frame;
331 /**
332 * <p>Return the value of the <code>frame</code> property.</p>
333 * <p>Contents: Code specifying which sides of the frame surrounding
334 * this table will be visible. Valid values are:
335 * none (no sides, default value); above (top side only);
336 * below (bottom side only); hsides (top and bottom sides
337 * only); vsides (right and left sides only); lhs (left
338 * hand side only); rhs (right hand side only); box
339 * (all four sides); and border (all four sides).
340 */
341 public java.lang.String getFrame() {
342 if (null != this.frame) {
343 return this.frame;
344 }
345 ValueExpression _ve = getValueExpression("frame");
346 if (_ve != null) {
347 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
348 } else {
349 return null;
350 }
351 }
352
353 /**
354 * <p>Set the value of the <code>frame</code> property.</p>
355 */
356 public void setFrame(java.lang.String frame) {
357 this.frame = frame;
358 handleAttribute("frame", frame);
359 }
360
361
362 private java.lang.String headerClass;
363 /**
364 * <p>Return the value of the <code>headerClass</code> property.</p>
365 * <p>Contents: Space-separated list of CSS style class(es) that will be
366 * applied to any header generated for this table.
367 */
368 public java.lang.String getHeaderClass() {
369 if (null != this.headerClass) {
370 return this.headerClass;
371 }
372 ValueExpression _ve = getValueExpression("headerClass");
373 if (_ve != null) {
374 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
375 } else {
376 return null;
377 }
378 }
379
380 /**
381 * <p>Set the value of the <code>headerClass</code> property.</p>
382 */
383 public void setHeaderClass(java.lang.String headerClass) {
384 this.headerClass = headerClass;
385 }
386
387
388 private java.lang.String lang;
389 /**
390 * <p>Return the value of the <code>lang</code> property.</p>
391 * <p>Contents: Code describing the language used in the generated markup
392 * for this component.
393 */
394 public java.lang.String getLang() {
395 if (null != this.lang) {
396 return this.lang;
397 }
398 ValueExpression _ve = getValueExpression("lang");
399 if (_ve != null) {
400 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
401 } else {
402 return null;
403 }
404 }
405
406 /**
407 * <p>Set the value of the <code>lang</code> property.</p>
408 */
409 public void setLang(java.lang.String lang) {
410 this.lang = lang;
411 handleAttribute("lang", lang);
412 }
413
414
415 private java.lang.String onclick;
416 /**
417 * <p>Return the value of the <code>onclick</code> property.</p>
418 * <p>Contents: Javascript code executed when a pointer button is
419 * clicked over this element.
420 */
421 public java.lang.String getOnclick() {
422 if (null != this.onclick) {
423 return this.onclick;
424 }
425 ValueExpression _ve = getValueExpression("onclick");
426 if (_ve != null) {
427 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
428 } else {
429 return null;
430 }
431 }
432
433 /**
434 * <p>Set the value of the <code>onclick</code> property.</p>
435 */
436 public void setOnclick(java.lang.String onclick) {
437 this.onclick = onclick;
438 handleAttribute("onclick", onclick);
439 }
440
441
442 private java.lang.String ondblclick;
443 /**
444 * <p>Return the value of the <code>ondblclick</code> property.</p>
445 * <p>Contents: Javascript code executed when a pointer button is
446 * double clicked over this element.
447 */
448 public java.lang.String getOndblclick() {
449 if (null != this.ondblclick) {
450 return this.ondblclick;
451 }
452 ValueExpression _ve = getValueExpression("ondblclick");
453 if (_ve != null) {
454 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
455 } else {
456 return null;
457 }
458 }
459
460 /**
461 * <p>Set the value of the <code>ondblclick</code> property.</p>
462 */
463 public void setOndblclick(java.lang.String ondblclick) {
464 this.ondblclick = ondblclick;
465 handleAttribute("ondblclick", ondblclick);
466 }
467
468
469 private java.lang.String onkeydown;
470 /**
471 * <p>Return the value of the <code>onkeydown</code> property.</p>
472 * <p>Contents: Javascript code executed when a key is
473 * pressed down over this element.
474 */
475 public java.lang.String getOnkeydown() {
476 if (null != this.onkeydown) {
477 return this.onkeydown;
478 }
479 ValueExpression _ve = getValueExpression("onkeydown");
480 if (_ve != null) {
481 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
482 } else {
483 return null;
484 }
485 }
486
487 /**
488 * <p>Set the value of the <code>onkeydown</code> property.</p>
489 */
490 public void setOnkeydown(java.lang.String onkeydown) {
491 this.onkeydown = onkeydown;
492 handleAttribute("onkeydown", onkeydown);
493 }
494
495
496 private java.lang.String onkeypress;
497 /**
498 * <p>Return the value of the <code>onkeypress</code> property.</p>
499 * <p>Contents: Javascript code executed when a key is
500 * pressed and released over this element.
501 */
502 public java.lang.String getOnkeypress() {
503 if (null != this.onkeypress) {
504 return this.onkeypress;
505 }
506 ValueExpression _ve = getValueExpression("onkeypress");
507 if (_ve != null) {
508 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
509 } else {
510 return null;
511 }
512 }
513
514 /**
515 * <p>Set the value of the <code>onkeypress</code> property.</p>
516 */
517 public void setOnkeypress(java.lang.String onkeypress) {
518 this.onkeypress = onkeypress;
519 handleAttribute("onkeypress", onkeypress);
520 }
521
522
523 private java.lang.String onkeyup;
524 /**
525 * <p>Return the value of the <code>onkeyup</code> property.</p>
526 * <p>Contents: Javascript code executed when a key is
527 * released over this element.
528 */
529 public java.lang.String getOnkeyup() {
530 if (null != this.onkeyup) {
531 return this.onkeyup;
532 }
533 ValueExpression _ve = getValueExpression("onkeyup");
534 if (_ve != null) {
535 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
536 } else {
537 return null;
538 }
539 }
540
541 /**
542 * <p>Set the value of the <code>onkeyup</code> property.</p>
543 */
544 public void setOnkeyup(java.lang.String onkeyup) {
545 this.onkeyup = onkeyup;
546 handleAttribute("onkeyup", onkeyup);
547 }
548
549
550 private java.lang.String onmousedown;
551 /**
552 * <p>Return the value of the <code>onmousedown</code> property.</p>
553 * <p>Contents: Javascript code executed when a pointer button is
554 * pressed down over this element.
555 */
556 public java.lang.String getOnmousedown() {
557 if (null != this.onmousedown) {
558 return this.onmousedown;
559 }
560 ValueExpression _ve = getValueExpression("onmousedown");
561 if (_ve != null) {
562 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
563 } else {
564 return null;
565 }
566 }
567
568 /**
569 * <p>Set the value of the <code>onmousedown</code> property.</p>
570 */
571 public void setOnmousedown(java.lang.String onmousedown) {
572 this.onmousedown = onmousedown;
573 handleAttribute("onmousedown", onmousedown);
574 }
575
576
577 private java.lang.String onmousemove;
578 /**
579 * <p>Return the value of the <code>onmousemove</code> property.</p>
580 * <p>Contents: Javascript code executed when a pointer button is
581 * moved within this element.
582 */
583 public java.lang.String getOnmousemove() {
584 if (null != this.onmousemove) {
585 return this.onmousemove;
586 }
587 ValueExpression _ve = getValueExpression("onmousemove");
588 if (_ve != null) {
589 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
590 } else {
591 return null;
592 }
593 }
594
595 /**
596 * <p>Set the value of the <code>onmousemove</code> property.</p>
597 */
598 public void setOnmousemove(java.lang.String onmousemove) {
599 this.onmousemove = onmousemove;
600 handleAttribute("onmousemove", onmousemove);
601 }
602
603
604 private java.lang.String onmouseout;
605 /**
606 * <p>Return the value of the <code>onmouseout</code> property.</p>
607 * <p>Contents: Javascript code executed when a pointer button is
608 * moved away from this element.
609 */
610 public java.lang.String getOnmouseout() {
611 if (null != this.onmouseout) {
612 return this.onmouseout;
613 }
614 ValueExpression _ve = getValueExpression("onmouseout");
615 if (_ve != null) {
616 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
617 } else {
618 return null;
619 }
620 }
621
622 /**
623 * <p>Set the value of the <code>onmouseout</code> property.</p>
624 */
625 public void setOnmouseout(java.lang.String onmouseout) {
626 this.onmouseout = onmouseout;
627 handleAttribute("onmouseout", onmouseout);
628 }
629
630
631 private java.lang.String onmouseover;
632 /**
633 * <p>Return the value of the <code>onmouseover</code> property.</p>
634 * <p>Contents: Javascript code executed when a pointer button is
635 * moved onto this element.
636 */
637 public java.lang.String getOnmouseover() {
638 if (null != this.onmouseover) {
639 return this.onmouseover;
640 }
641 ValueExpression _ve = getValueExpression("onmouseover");
642 if (_ve != null) {
643 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
644 } else {
645 return null;
646 }
647 }
648
649 /**
650 * <p>Set the value of the <code>onmouseover</code> property.</p>
651 */
652 public void setOnmouseover(java.lang.String onmouseover) {
653 this.onmouseover = onmouseover;
654 handleAttribute("onmouseover", onmouseover);
655 }
656
657
658 private java.lang.String onmouseup;
659 /**
660 * <p>Return the value of the <code>onmouseup</code> property.</p>
661 * <p>Contents: Javascript code executed when a pointer button is
662 * released over this element.
663 */
664 public java.lang.String getOnmouseup() {
665 if (null != this.onmouseup) {
666 return this.onmouseup;
667 }
668 ValueExpression _ve = getValueExpression("onmouseup");
669 if (_ve != null) {
670 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
671 } else {
672 return null;
673 }
674 }
675
676 /**
677 * <p>Set the value of the <code>onmouseup</code> property.</p>
678 */
679 public void setOnmouseup(java.lang.String onmouseup) {
680 this.onmouseup = onmouseup;
681 handleAttribute("onmouseup", onmouseup);
682 }
683
684
685 private java.lang.String rowClasses;
686 /**
687 * <p>Return the value of the <code>rowClasses</code> property.</p>
688 * <p>Contents: Comma-delimited list of CSS style classes that will be applied
689 * to the rows of this table. A space separated list of classes
690 * may also be specified for any individual row. Thes styles are
691 * applied, in turn, to each row in the table. For example, if
692 * the list has two elements, the first style class in the list
693 * is applied to the first row, the second to the second row, the
694 * first to the third row, the second to the fourth row, etc. In
695 * other words, we keep iterating through the list until we reach
696 * the end, and then we start at the beginning again.
697 */
698 public java.lang.String getRowClasses() {
699 if (null != this.rowClasses) {
700 return this.rowClasses;
701 }
702 ValueExpression _ve = getValueExpression("rowClasses");
703 if (_ve != null) {
704 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
705 } else {
706 return null;
707 }
708 }
709
710 /**
711 * <p>Set the value of the <code>rowClasses</code> property.</p>
712 */
713 public void setRowClasses(java.lang.String rowClasses) {
714 this.rowClasses = rowClasses;
715 }
716
717
718 private java.lang.String rules;
719 /**
720 * <p>Return the value of the <code>rules</code> property.</p>
721 * <p>Contents: Code specifying which rules will appear between cells
722 * within this table. Valid values are: none (no rules,
723 * default value); groups (between row groups); rows
724 * (between rows only); cols (between columns only); and
725 * all (between all rows and columns).
726 */
727 public java.lang.String getRules() {
728 if (null != this.rules) {
729 return this.rules;
730 }
731 ValueExpression _ve = getValueExpression("rules");
732 if (_ve != null) {
733 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
734 } else {
735 return null;
736 }
737 }
738
739 /**
740 * <p>Set the value of the <code>rules</code> property.</p>
741 */
742 public void setRules(java.lang.String rules) {
743 this.rules = rules;
744 handleAttribute("rules", rules);
745 }
746
747
748 private java.lang.String style;
749 /**
750 * <p>Return the value of the <code>style</code> property.</p>
751 * <p>Contents: CSS style(s) to be applied when this component is rendered.
752 */
753 public java.lang.String getStyle() {
754 if (null != this.style) {
755 return this.style;
756 }
757 ValueExpression _ve = getValueExpression("style");
758 if (_ve != null) {
759 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
760 } else {
761 return null;
762 }
763 }
764
765 /**
766 * <p>Set the value of the <code>style</code> property.</p>
767 */
768 public void setStyle(java.lang.String style) {
769 this.style = style;
770 handleAttribute("style", style);
771 }
772
773
774 private java.lang.String styleClass;
775 /**
776 * <p>Return the value of the <code>styleClass</code> property.</p>
777 * <p>Contents: Space-separated list of CSS style class(es) to be applied when
778 * this element is rendered. This value must be passed through
779 * as the "class" attribute on generated markup.
780 */
781 public java.lang.String getStyleClass() {
782 if (null != this.styleClass) {
783 return this.styleClass;
784 }
785 ValueExpression _ve = getValueExpression("styleClass");
786 if (_ve != null) {
787 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
788 } else {
789 return null;
790 }
791 }
792
793 /**
794 * <p>Set the value of the <code>styleClass</code> property.</p>
795 */
796 public void setStyleClass(java.lang.String styleClass) {
797 this.styleClass = styleClass;
798 }
799
800
801 private java.lang.String summary;
802 /**
803 * <p>Return the value of the <code>summary</code> property.</p>
804 * <p>Contents: Summary of this table's purpose and structure, for
805 * user agents rendering to non-visual media such as
806 * speech and Braille.
807 */
808 public java.lang.String getSummary() {
809 if (null != this.summary) {
810 return this.summary;
811 }
812 ValueExpression _ve = getValueExpression("summary");
813 if (_ve != null) {
814 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
815 } else {
816 return null;
817 }
818 }
819
820 /**
821 * <p>Set the value of the <code>summary</code> property.</p>
822 */
823 public void setSummary(java.lang.String summary) {
824 this.summary = summary;
825 handleAttribute("summary", summary);
826 }
827
828
829 private java.lang.String title;
830 /**
831 * <p>Return the value of the <code>title</code> property.</p>
832 * <p>Contents: Advisory title information about markup elements generated
833 * for this component.
834 */
835 public java.lang.String getTitle() {
836 if (null != this.title) {
837 return this.title;
838 }
839 ValueExpression _ve = getValueExpression("title");
840 if (_ve != null) {
841 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
842 } else {
843 return null;
844 }
845 }
846
847 /**
848 * <p>Set the value of the <code>title</code> property.</p>
849 */
850 public void setTitle(java.lang.String title) {
851 this.title = title;
852 handleAttribute("title", title);
853 }
854
855
856 private java.lang.String width;
857 /**
858 * <p>Return the value of the <code>width</code> property.</p>
859 * <p>Contents: Width of the entire table, for visual user agents.
860 */
861 public java.lang.String getWidth() {
862 if (null != this.width) {
863 return this.width;
864 }
865 ValueExpression _ve = getValueExpression("width");
866 if (_ve != null) {
867 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
868 } else {
869 return null;
870 }
871 }
872
873 /**
874 * <p>Set the value of the <code>width</code> property.</p>
875 */
876 public void setWidth(java.lang.String width) {
877 this.width = width;
878 handleAttribute("width", width);
879 }
880
881
882 private Object[] _values;
883
884 public Object saveState(FacesContext _context) {
885 if (_values == null) {
886 _values = new Object[30];
887 }
888 _values[0] = super.saveState(_context);
889 _values[1] = bgcolor;
890 _values[2] = border;
891 _values[3] = captionClass;
892 _values[4] = captionStyle;
893 _values[5] = cellpadding;
894 _values[6] = cellspacing;
895 _values[7] = columnClasses;
896 _values[8] = dir;
897 _values[9] = footerClass;
898 _values[10] = frame;
899 _values[11] = headerClass;
900 _values[12] = lang;
901 _values[13] = onclick;
902 _values[14] = ondblclick;
903 _values[15] = onkeydown;
904 _values[16] = onkeypress;
905 _values[17] = onkeyup;
906 _values[18] = onmousedown;
907 _values[19] = onmousemove;
908 _values[20] = onmouseout;
909 _values[21] = onmouseover;
910 _values[22] = onmouseup;
911 _values[23] = rowClasses;
912 _values[24] = rules;
913 _values[25] = style;
914 _values[26] = styleClass;
915 _values[27] = summary;
916 _values[28] = title;
917 _values[29] = width;
918 return _values;
919 }
920
921
922 public void restoreState(FacesContext _context, Object _state) {
923 _values = (Object[]) _state;
924 super.restoreState(_context, _values[0]);
925 this.bgcolor = (java.lang.String) _values[1];
926 this.border = (java.lang.Integer) _values[2];
927 this.captionClass = (java.lang.String) _values[3];
928 this.captionStyle = (java.lang.String) _values[4];
929 this.cellpadding = (java.lang.String) _values[5];
930 this.cellspacing = (java.lang.String) _values[6];
931 this.columnClasses = (java.lang.String) _values[7];
932 this.dir = (java.lang.String) _values[8];
933 this.footerClass = (java.lang.String) _values[9];
934 this.frame = (java.lang.String) _values[10];
935 this.headerClass = (java.lang.String) _values[11];
936 this.lang = (java.lang.String) _values[12];
937 this.onclick = (java.lang.String) _values[13];
938 this.ondblclick = (java.lang.String) _values[14];
939 this.onkeydown = (java.lang.String) _values[15];
940 this.onkeypress = (java.lang.String) _values[16];
941 this.onkeyup = (java.lang.String) _values[17];
942 this.onmousedown = (java.lang.String) _values[18];
943 this.onmousemove = (java.lang.String) _values[19];
944 this.onmouseout = (java.lang.String) _values[20];
945 this.onmouseover = (java.lang.String) _values[21];
946 this.onmouseup = (java.lang.String) _values[22];
947 this.rowClasses = (java.lang.String) _values[23];
948 this.rules = (java.lang.String) _values[24];
949 this.style = (java.lang.String) _values[25];
950 this.styleClass = (java.lang.String) _values[26];
951 this.summary = (java.lang.String) _values[27];
952 this.title = (java.lang.String) _values[28];
953 this.width = (java.lang.String) _values[29];
954 }
955
956
957 private void handleAttribute(String name, Object value) {
958 List<String> setAttributes = null;
959 String pkg = this.getClass().getPackage().getName();
960 if (Arrays.binarySearch(OPTIMIZED_PACKAGES, pkg) >= 0) {
961 setAttributes = (List<String>) this.getAttributes().get("javax.faces.component.UIComponentBase.attributesThatAreSet");
962 if (setAttributes == null) {
963 setAttributes = new ArrayList<String>(6);
964 this.getAttributes().put("javax.faces.component.UIComponentBase.attributesThatAreSet", setAttributes);
965 }
966 if (value == null) {
967 setAttributes.remove(name);
968 } else if (!setAttributes.contains(name)) {
969 setAttributes.add(name);
970 }
971 }
972 }
973
974 }