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 an HTML <code>a</code> (hyperlink) element that may be
55 * used to link to an arbitrary URL defined by the <code>value</code>
56 * property.</p>
57 * <p>By default, the <code>rendererType</code> property must be set to "<code>javax.faces.Link</code>".
58 * This value can be changed by calling the <code>setRendererType()</code> method.</p>
59 */
60 public class HtmlOutputLink extends javax.faces.component.UIOutput {
61
62
63
64 private static final String[] OPTIMIZED_PACKAGES = {
65 "javax.faces.component",
66 "javax.faces.component.html"
67 };
68
69 public HtmlOutputLink() {
70 super();
71 setRendererType("javax.faces.Link");
72 }
73
74
75 /**
76 * <p>The standard component type for this component.</p>
77 */
78 public static final String COMPONENT_TYPE = "javax.faces.HtmlOutputLink";
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.String charset;
109 /**
110 * <p>Return the value of the <code>charset</code> property.</p>
111 * <p>Contents: The character encoding of the resource designated
112 * by this hyperlink.
113 */
114 public java.lang.String getCharset() {
115 if (null != this.charset) {
116 return this.charset;
117 }
118 ValueExpression _ve = getValueExpression("charset");
119 if (_ve != null) {
120 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
121 } else {
122 return null;
123 }
124 }
125
126 /**
127 * <p>Set the value of the <code>charset</code> property.</p>
128 */
129 public void setCharset(java.lang.String charset) {
130 this.charset = charset;
131 handleAttribute("charset", charset);
132 }
133
134
135 private java.lang.String coords;
136 /**
137 * <p>Return the value of the <code>coords</code> property.</p>
138 * <p>Contents: The position and shape of the hot spot on the screen
139 * (for use in client-side image maps).
140 */
141 public java.lang.String getCoords() {
142 if (null != this.coords) {
143 return this.coords;
144 }
145 ValueExpression _ve = getValueExpression("coords");
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>coords</code> property.</p>
155 */
156 public void setCoords(java.lang.String coords) {
157 this.coords = coords;
158 handleAttribute("coords", coords);
159 }
160
161
162 private java.lang.String dir;
163 /**
164 * <p>Return the value of the <code>dir</code> property.</p>
165 * <p>Contents: Direction indication for text that does not inherit directionality.
166 * Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).
167 */
168 public java.lang.String getDir() {
169 if (null != this.dir) {
170 return this.dir;
171 }
172 ValueExpression _ve = getValueExpression("dir");
173 if (_ve != null) {
174 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
175 } else {
176 return null;
177 }
178 }
179
180 /**
181 * <p>Set the value of the <code>dir</code> property.</p>
182 */
183 public void setDir(java.lang.String dir) {
184 this.dir = dir;
185 handleAttribute("dir", dir);
186 }
187
188
189 private java.lang.Boolean disabled;
190 /**
191 * <p>Return the value of the <code>disabled</code> property.</p>
192 * <p>Contents: Flag indicating that this element must never
193 * receive focus or be included in a subsequent
194 * submit.
195 */
196 public boolean isDisabled() {
197 if (null != this.disabled) {
198 return this.disabled;
199 }
200 ValueExpression _ve = getValueExpression("disabled");
201 if (_ve != null) {
202 return (java.lang.Boolean) _ve.getValue(getFacesContext().getELContext());
203 } else {
204 return false;
205 }
206 }
207
208 /**
209 * <p>Set the value of the <code>disabled</code> property.</p>
210 */
211 public void setDisabled(boolean disabled) {
212 this.disabled = disabled;
213 }
214
215
216 private java.lang.String hreflang;
217 /**
218 * <p>Return the value of the <code>hreflang</code> property.</p>
219 * <p>Contents: The language code of the resource designated
220 * by this hyperlink.
221 */
222 public java.lang.String getHreflang() {
223 if (null != this.hreflang) {
224 return this.hreflang;
225 }
226 ValueExpression _ve = getValueExpression("hreflang");
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>hreflang</code> property.</p>
236 */
237 public void setHreflang(java.lang.String hreflang) {
238 this.hreflang = hreflang;
239 handleAttribute("hreflang", hreflang);
240 }
241
242
243 private java.lang.String lang;
244 /**
245 * <p>Return the value of the <code>lang</code> property.</p>
246 * <p>Contents: Code describing the language used in the generated markup
247 * for this component.
248 */
249 public java.lang.String getLang() {
250 if (null != this.lang) {
251 return this.lang;
252 }
253 ValueExpression _ve = getValueExpression("lang");
254 if (_ve != null) {
255 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
256 } else {
257 return null;
258 }
259 }
260
261 /**
262 * <p>Set the value of the <code>lang</code> property.</p>
263 */
264 public void setLang(java.lang.String lang) {
265 this.lang = lang;
266 handleAttribute("lang", lang);
267 }
268
269
270 private java.lang.String onblur;
271 /**
272 * <p>Return the value of the <code>onblur</code> property.</p>
273 * <p>Contents: Javascript code executed when this element loses focus.
274 */
275 public java.lang.String getOnblur() {
276 if (null != this.onblur) {
277 return this.onblur;
278 }
279 ValueExpression _ve = getValueExpression("onblur");
280 if (_ve != null) {
281 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
282 } else {
283 return null;
284 }
285 }
286
287 /**
288 * <p>Set the value of the <code>onblur</code> property.</p>
289 */
290 public void setOnblur(java.lang.String onblur) {
291 this.onblur = onblur;
292 handleAttribute("onblur", onblur);
293 }
294
295
296 private java.lang.String onclick;
297 /**
298 * <p>Return the value of the <code>onclick</code> property.</p>
299 * <p>Contents: Javascript code executed when a pointer button is
300 * clicked over this element.
301 */
302 public java.lang.String getOnclick() {
303 if (null != this.onclick) {
304 return this.onclick;
305 }
306 ValueExpression _ve = getValueExpression("onclick");
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>onclick</code> property.</p>
316 */
317 public void setOnclick(java.lang.String onclick) {
318 this.onclick = onclick;
319 handleAttribute("onclick", onclick);
320 }
321
322
323 private java.lang.String ondblclick;
324 /**
325 * <p>Return the value of the <code>ondblclick</code> property.</p>
326 * <p>Contents: Javascript code executed when a pointer button is
327 * double clicked over this element.
328 */
329 public java.lang.String getOndblclick() {
330 if (null != this.ondblclick) {
331 return this.ondblclick;
332 }
333 ValueExpression _ve = getValueExpression("ondblclick");
334 if (_ve != null) {
335 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
336 } else {
337 return null;
338 }
339 }
340
341 /**
342 * <p>Set the value of the <code>ondblclick</code> property.</p>
343 */
344 public void setOndblclick(java.lang.String ondblclick) {
345 this.ondblclick = ondblclick;
346 handleAttribute("ondblclick", ondblclick);
347 }
348
349
350 private java.lang.String onfocus;
351 /**
352 * <p>Return the value of the <code>onfocus</code> property.</p>
353 * <p>Contents: Javascript code executed when this element receives focus.
354 */
355 public java.lang.String getOnfocus() {
356 if (null != this.onfocus) {
357 return this.onfocus;
358 }
359 ValueExpression _ve = getValueExpression("onfocus");
360 if (_ve != null) {
361 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
362 } else {
363 return null;
364 }
365 }
366
367 /**
368 * <p>Set the value of the <code>onfocus</code> property.</p>
369 */
370 public void setOnfocus(java.lang.String onfocus) {
371 this.onfocus = onfocus;
372 handleAttribute("onfocus", onfocus);
373 }
374
375
376 private java.lang.String onkeydown;
377 /**
378 * <p>Return the value of the <code>onkeydown</code> property.</p>
379 * <p>Contents: Javascript code executed when a key is
380 * pressed down over this element.
381 */
382 public java.lang.String getOnkeydown() {
383 if (null != this.onkeydown) {
384 return this.onkeydown;
385 }
386 ValueExpression _ve = getValueExpression("onkeydown");
387 if (_ve != null) {
388 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
389 } else {
390 return null;
391 }
392 }
393
394 /**
395 * <p>Set the value of the <code>onkeydown</code> property.</p>
396 */
397 public void setOnkeydown(java.lang.String onkeydown) {
398 this.onkeydown = onkeydown;
399 handleAttribute("onkeydown", onkeydown);
400 }
401
402
403 private java.lang.String onkeypress;
404 /**
405 * <p>Return the value of the <code>onkeypress</code> property.</p>
406 * <p>Contents: Javascript code executed when a key is
407 * pressed and released over this element.
408 */
409 public java.lang.String getOnkeypress() {
410 if (null != this.onkeypress) {
411 return this.onkeypress;
412 }
413 ValueExpression _ve = getValueExpression("onkeypress");
414 if (_ve != null) {
415 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
416 } else {
417 return null;
418 }
419 }
420
421 /**
422 * <p>Set the value of the <code>onkeypress</code> property.</p>
423 */
424 public void setOnkeypress(java.lang.String onkeypress) {
425 this.onkeypress = onkeypress;
426 handleAttribute("onkeypress", onkeypress);
427 }
428
429
430 private java.lang.String onkeyup;
431 /**
432 * <p>Return the value of the <code>onkeyup</code> property.</p>
433 * <p>Contents: Javascript code executed when a key is
434 * released over this element.
435 */
436 public java.lang.String getOnkeyup() {
437 if (null != this.onkeyup) {
438 return this.onkeyup;
439 }
440 ValueExpression _ve = getValueExpression("onkeyup");
441 if (_ve != null) {
442 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
443 } else {
444 return null;
445 }
446 }
447
448 /**
449 * <p>Set the value of the <code>onkeyup</code> property.</p>
450 */
451 public void setOnkeyup(java.lang.String onkeyup) {
452 this.onkeyup = onkeyup;
453 handleAttribute("onkeyup", onkeyup);
454 }
455
456
457 private java.lang.String onmousedown;
458 /**
459 * <p>Return the value of the <code>onmousedown</code> property.</p>
460 * <p>Contents: Javascript code executed when a pointer button is
461 * pressed down over this element.
462 */
463 public java.lang.String getOnmousedown() {
464 if (null != this.onmousedown) {
465 return this.onmousedown;
466 }
467 ValueExpression _ve = getValueExpression("onmousedown");
468 if (_ve != null) {
469 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
470 } else {
471 return null;
472 }
473 }
474
475 /**
476 * <p>Set the value of the <code>onmousedown</code> property.</p>
477 */
478 public void setOnmousedown(java.lang.String onmousedown) {
479 this.onmousedown = onmousedown;
480 handleAttribute("onmousedown", onmousedown);
481 }
482
483
484 private java.lang.String onmousemove;
485 /**
486 * <p>Return the value of the <code>onmousemove</code> property.</p>
487 * <p>Contents: Javascript code executed when a pointer button is
488 * moved within this element.
489 */
490 public java.lang.String getOnmousemove() {
491 if (null != this.onmousemove) {
492 return this.onmousemove;
493 }
494 ValueExpression _ve = getValueExpression("onmousemove");
495 if (_ve != null) {
496 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
497 } else {
498 return null;
499 }
500 }
501
502 /**
503 * <p>Set the value of the <code>onmousemove</code> property.</p>
504 */
505 public void setOnmousemove(java.lang.String onmousemove) {
506 this.onmousemove = onmousemove;
507 handleAttribute("onmousemove", onmousemove);
508 }
509
510
511 private java.lang.String onmouseout;
512 /**
513 * <p>Return the value of the <code>onmouseout</code> property.</p>
514 * <p>Contents: Javascript code executed when a pointer button is
515 * moved away from this element.
516 */
517 public java.lang.String getOnmouseout() {
518 if (null != this.onmouseout) {
519 return this.onmouseout;
520 }
521 ValueExpression _ve = getValueExpression("onmouseout");
522 if (_ve != null) {
523 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
524 } else {
525 return null;
526 }
527 }
528
529 /**
530 * <p>Set the value of the <code>onmouseout</code> property.</p>
531 */
532 public void setOnmouseout(java.lang.String onmouseout) {
533 this.onmouseout = onmouseout;
534 handleAttribute("onmouseout", onmouseout);
535 }
536
537
538 private java.lang.String onmouseover;
539 /**
540 * <p>Return the value of the <code>onmouseover</code> property.</p>
541 * <p>Contents: Javascript code executed when a pointer button is
542 * moved onto this element.
543 */
544 public java.lang.String getOnmouseover() {
545 if (null != this.onmouseover) {
546 return this.onmouseover;
547 }
548 ValueExpression _ve = getValueExpression("onmouseover");
549 if (_ve != null) {
550 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
551 } else {
552 return null;
553 }
554 }
555
556 /**
557 * <p>Set the value of the <code>onmouseover</code> property.</p>
558 */
559 public void setOnmouseover(java.lang.String onmouseover) {
560 this.onmouseover = onmouseover;
561 handleAttribute("onmouseover", onmouseover);
562 }
563
564
565 private java.lang.String onmouseup;
566 /**
567 * <p>Return the value of the <code>onmouseup</code> property.</p>
568 * <p>Contents: Javascript code executed when a pointer button is
569 * released over this element.
570 */
571 public java.lang.String getOnmouseup() {
572 if (null != this.onmouseup) {
573 return this.onmouseup;
574 }
575 ValueExpression _ve = getValueExpression("onmouseup");
576 if (_ve != null) {
577 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
578 } else {
579 return null;
580 }
581 }
582
583 /**
584 * <p>Set the value of the <code>onmouseup</code> property.</p>
585 */
586 public void setOnmouseup(java.lang.String onmouseup) {
587 this.onmouseup = onmouseup;
588 handleAttribute("onmouseup", onmouseup);
589 }
590
591
592 private java.lang.String rel;
593 /**
594 * <p>Return the value of the <code>rel</code> property.</p>
595 * <p>Contents: The relationship from the current document
596 * to the anchor specified by this hyperlink.
597 * The value of this attribute is a space-separated
598 * list of link types.
599 */
600 public java.lang.String getRel() {
601 if (null != this.rel) {
602 return this.rel;
603 }
604 ValueExpression _ve = getValueExpression("rel");
605 if (_ve != null) {
606 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
607 } else {
608 return null;
609 }
610 }
611
612 /**
613 * <p>Set the value of the <code>rel</code> property.</p>
614 */
615 public void setRel(java.lang.String rel) {
616 this.rel = rel;
617 handleAttribute("rel", rel);
618 }
619
620
621 private java.lang.String rev;
622 /**
623 * <p>Return the value of the <code>rev</code> property.</p>
624 * <p>Contents: A reverse link from the anchor specified
625 * by this hyperlink to the current document.
626 * The value of this attribute is a space-separated
627 * list of link types.
628 */
629 public java.lang.String getRev() {
630 if (null != this.rev) {
631 return this.rev;
632 }
633 ValueExpression _ve = getValueExpression("rev");
634 if (_ve != null) {
635 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
636 } else {
637 return null;
638 }
639 }
640
641 /**
642 * <p>Set the value of the <code>rev</code> property.</p>
643 */
644 public void setRev(java.lang.String rev) {
645 this.rev = rev;
646 handleAttribute("rev", rev);
647 }
648
649
650 private java.lang.String shape;
651 /**
652 * <p>Return the value of the <code>shape</code> property.</p>
653 * <p>Contents: The shape of the hot spot on the screen
654 * (for use in client-side image maps). Valid
655 * values are: default (entire region); rect
656 * (rectangular region); circle (circular region);
657 * and poly (polygonal region).
658 */
659 public java.lang.String getShape() {
660 if (null != this.shape) {
661 return this.shape;
662 }
663 ValueExpression _ve = getValueExpression("shape");
664 if (_ve != null) {
665 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
666 } else {
667 return null;
668 }
669 }
670
671 /**
672 * <p>Set the value of the <code>shape</code> property.</p>
673 */
674 public void setShape(java.lang.String shape) {
675 this.shape = shape;
676 handleAttribute("shape", shape);
677 }
678
679
680 private java.lang.String style;
681 /**
682 * <p>Return the value of the <code>style</code> property.</p>
683 * <p>Contents: CSS style(s) to be applied when this component is rendered.
684 */
685 public java.lang.String getStyle() {
686 if (null != this.style) {
687 return this.style;
688 }
689 ValueExpression _ve = getValueExpression("style");
690 if (_ve != null) {
691 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
692 } else {
693 return null;
694 }
695 }
696
697 /**
698 * <p>Set the value of the <code>style</code> property.</p>
699 */
700 public void setStyle(java.lang.String style) {
701 this.style = style;
702 handleAttribute("style", style);
703 }
704
705
706 private java.lang.String styleClass;
707 /**
708 * <p>Return the value of the <code>styleClass</code> property.</p>
709 * <p>Contents: Space-separated list of CSS style class(es) to be applied when
710 * this element is rendered. This value must be passed through
711 * as the "class" attribute on generated markup.
712 */
713 public java.lang.String getStyleClass() {
714 if (null != this.styleClass) {
715 return this.styleClass;
716 }
717 ValueExpression _ve = getValueExpression("styleClass");
718 if (_ve != null) {
719 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
720 } else {
721 return null;
722 }
723 }
724
725 /**
726 * <p>Set the value of the <code>styleClass</code> property.</p>
727 */
728 public void setStyleClass(java.lang.String styleClass) {
729 this.styleClass = styleClass;
730 }
731
732
733 private java.lang.String tabindex;
734 /**
735 * <p>Return the value of the <code>tabindex</code> property.</p>
736 * <p>Contents: Position of this element in the tabbing order
737 * for the current document. This value must be
738 * an integer between 0 and 32767.
739 */
740 public java.lang.String getTabindex() {
741 if (null != this.tabindex) {
742 return this.tabindex;
743 }
744 ValueExpression _ve = getValueExpression("tabindex");
745 if (_ve != null) {
746 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
747 } else {
748 return null;
749 }
750 }
751
752 /**
753 * <p>Set the value of the <code>tabindex</code> property.</p>
754 */
755 public void setTabindex(java.lang.String tabindex) {
756 this.tabindex = tabindex;
757 handleAttribute("tabindex", tabindex);
758 }
759
760
761 private java.lang.String target;
762 /**
763 * <p>Return the value of the <code>target</code> property.</p>
764 * <p>Contents: Name of a frame where the resource
765 * retrieved via this hyperlink is to
766 * be displayed.
767 */
768 public java.lang.String getTarget() {
769 if (null != this.target) {
770 return this.target;
771 }
772 ValueExpression _ve = getValueExpression("target");
773 if (_ve != null) {
774 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
775 } else {
776 return null;
777 }
778 }
779
780 /**
781 * <p>Set the value of the <code>target</code> property.</p>
782 */
783 public void setTarget(java.lang.String target) {
784 this.target = target;
785 }
786
787
788 private java.lang.String title;
789 /**
790 * <p>Return the value of the <code>title</code> property.</p>
791 * <p>Contents: Advisory title information about markup elements generated
792 * for this component.
793 */
794 public java.lang.String getTitle() {
795 if (null != this.title) {
796 return this.title;
797 }
798 ValueExpression _ve = getValueExpression("title");
799 if (_ve != null) {
800 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
801 } else {
802 return null;
803 }
804 }
805
806 /**
807 * <p>Set the value of the <code>title</code> property.</p>
808 */
809 public void setTitle(java.lang.String title) {
810 this.title = title;
811 handleAttribute("title", title);
812 }
813
814
815 private java.lang.String type;
816 /**
817 * <p>Return the value of the <code>type</code> property.</p>
818 * <p>Contents: The content type of the resource designated
819 * by this hyperlink.
820 */
821 public java.lang.String getType() {
822 if (null != this.type) {
823 return this.type;
824 }
825 ValueExpression _ve = getValueExpression("type");
826 if (_ve != null) {
827 return (java.lang.String) _ve.getValue(getFacesContext().getELContext());
828 } else {
829 return null;
830 }
831 }
832
833 /**
834 * <p>Set the value of the <code>type</code> property.</p>
835 */
836 public void setType(java.lang.String type) {
837 this.type = type;
838 handleAttribute("type", type);
839 }
840
841
842 private Object[] _values;
843
844 public Object saveState(FacesContext _context) {
845 if (_values == null) {
846 _values = new Object[29];
847 }
848 _values[0] = super.saveState(_context);
849 _values[1] = accesskey;
850 _values[2] = charset;
851 _values[3] = coords;
852 _values[4] = dir;
853 _values[5] = disabled;
854 _values[6] = hreflang;
855 _values[7] = lang;
856 _values[8] = onblur;
857 _values[9] = onclick;
858 _values[10] = ondblclick;
859 _values[11] = onfocus;
860 _values[12] = onkeydown;
861 _values[13] = onkeypress;
862 _values[14] = onkeyup;
863 _values[15] = onmousedown;
864 _values[16] = onmousemove;
865 _values[17] = onmouseout;
866 _values[18] = onmouseover;
867 _values[19] = onmouseup;
868 _values[20] = rel;
869 _values[21] = rev;
870 _values[22] = shape;
871 _values[23] = style;
872 _values[24] = styleClass;
873 _values[25] = tabindex;
874 _values[26] = target;
875 _values[27] = title;
876 _values[28] = type;
877 return _values;
878 }
879
880
881 public void restoreState(FacesContext _context, Object _state) {
882 _values = (Object[]) _state;
883 super.restoreState(_context, _values[0]);
884 this.accesskey = (java.lang.String) _values[1];
885 this.charset = (java.lang.String) _values[2];
886 this.coords = (java.lang.String) _values[3];
887 this.dir = (java.lang.String) _values[4];
888 this.disabled = (java.lang.Boolean) _values[5];
889 this.hreflang = (java.lang.String) _values[6];
890 this.lang = (java.lang.String) _values[7];
891 this.onblur = (java.lang.String) _values[8];
892 this.onclick = (java.lang.String) _values[9];
893 this.ondblclick = (java.lang.String) _values[10];
894 this.onfocus = (java.lang.String) _values[11];
895 this.onkeydown = (java.lang.String) _values[12];
896 this.onkeypress = (java.lang.String) _values[13];
897 this.onkeyup = (java.lang.String) _values[14];
898 this.onmousedown = (java.lang.String) _values[15];
899 this.onmousemove = (java.lang.String) _values[16];
900 this.onmouseout = (java.lang.String) _values[17];
901 this.onmouseover = (java.lang.String) _values[18];
902 this.onmouseup = (java.lang.String) _values[19];
903 this.rel = (java.lang.String) _values[20];
904 this.rev = (java.lang.String) _values[21];
905 this.shape = (java.lang.String) _values[22];
906 this.style = (java.lang.String) _values[23];
907 this.styleClass = (java.lang.String) _values[24];
908 this.tabindex = (java.lang.String) _values[25];
909 this.target = (java.lang.String) _values[26];
910 this.title = (java.lang.String) _values[27];
911 this.type = (java.lang.String) _values[28];
912 }
913
914
915 private void handleAttribute(String name, Object value) {
916 List<String> setAttributes = null;
917 String pkg = this.getClass().getPackage().getName();
918 if (Arrays.binarySearch(OPTIMIZED_PACKAGES, pkg) >= 0) {
919 setAttributes = (List<String>) this.getAttributes().get("javax.faces.component.UIComponentBase.attributesThatAreSet");
920 if (setAttributes == null) {
921 setAttributes = new ArrayList<String>(6);
922 this.getAttributes().put("javax.faces.component.UIComponentBase.attributesThatAreSet", setAttributes);
923 }
924 if (value == null) {
925 setAttributes.remove(name);
926 } else if (!setAttributes.contains(name)) {
927 setAttributes.add(name);
928 }
929 }
930 }
931
932 }