001: /*
002: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License version 2
011: * as published by the Free Software Foundation.
012: *
013: * Resin Open Source is distributed in the hope that it will be useful,
014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
016: * of NON-INFRINGEMENT. See the GNU General Public License for more
017: * details.
018: *
019: * You should have received a copy of the GNU General Public License
020: * along with Resin Open Source; if not, write to the
021: *
022: * Free Software Foundation, Inc.
023: * 59 Temple Place, Suite 330
024: * Boston, MA 02111-1307 USA
025: *
026: * @author Scott Ferguson
027: */
028:
029: package javax.faces.component.html;
030:
031: import java.util.*;
032:
033: import javax.el.*;
034:
035: import javax.faces.component.*;
036: import javax.faces.context.*;
037:
038: public class HtmlSelectOneRadio extends UISelectOne {
039: public static final String COMPONENT_TYPE = "javax.faces.HtmlSelectOneRadio";
040:
041: private static final HashMap<String, PropEnum> _propMap = new HashMap<String, PropEnum>();
042:
043: private String _accesskey;
044: private ValueExpression _accesskeyExpr;
045:
046: private Integer _border;
047: private ValueExpression _borderExpr;
048:
049: private String _dir;
050: private ValueExpression _dirExpr;
051:
052: private Boolean _disabled;
053: private ValueExpression _disabledExpr;
054:
055: private String _disabledClass;
056: private ValueExpression _disabledClassExpr;
057:
058: private String _enabledClass;
059: private ValueExpression _enabledClassExpr;
060:
061: private String _label;
062: private ValueExpression _labelExpr;
063:
064: private String _lang;
065: private ValueExpression _langExpr;
066:
067: private String _layout;
068: private ValueExpression _layoutExpr;
069:
070: private String _onblur;
071: private ValueExpression _onblurExpr;
072:
073: private String _onchange;
074: private ValueExpression _onchangeExpr;
075:
076: private String _onclick;
077: private ValueExpression _onclickExpr;
078:
079: private String _ondblclick;
080: private ValueExpression _ondblclickExpr;
081:
082: private String _onfocus;
083: private ValueExpression _onfocusExpr;
084:
085: private String _onkeydown;
086: private ValueExpression _onkeydownExpr;
087:
088: private String _onkeypress;
089: private ValueExpression _onkeypressExpr;
090:
091: private String _onkeyup;
092: private ValueExpression _onkeyupExpr;
093:
094: private String _onmousedown;
095: private ValueExpression _onmousedownExpr;
096:
097: private String _onmousemove;
098: private ValueExpression _onmousemoveExpr;
099:
100: private String _onmouseout;
101: private ValueExpression _onmouseoutExpr;
102:
103: private String _onmouseover;
104: private ValueExpression _onmouseoverExpr;
105:
106: private String _onmouseup;
107: private ValueExpression _onmouseupExpr;
108:
109: private String _onselect;
110: private ValueExpression _onselectExpr;
111:
112: private Boolean _readonly;
113: private ValueExpression _readonlyExpr;
114:
115: private String _style;
116: private ValueExpression _styleExpr;
117:
118: private String _styleClass;
119: private ValueExpression _styleClassExpr;
120:
121: private String _tabindex;
122: private ValueExpression _tabindexExpr;
123:
124: private String _title;
125: private ValueExpression _titleExpr;
126:
127: public HtmlSelectOneRadio() {
128: setRendererType("javax.faces.Radio");
129: }
130:
131: //
132: // properties
133: //
134:
135: public String getAccesskey() {
136: if (_accesskey != null)
137: return _accesskey;
138: else if (_accesskeyExpr != null)
139: return Util.evalString(_accesskeyExpr);
140: else
141: return null;
142: }
143:
144: public void setAccesskey(String value) {
145: _accesskey = value;
146: }
147:
148: public int getBorder() {
149: if (_border != null)
150: return _border;
151: else if (_borderExpr != null)
152: return Util.evalInt(_borderExpr);
153: else
154: return Integer.MIN_VALUE;
155: }
156:
157: public void setBorder(int value) {
158: _border = value;
159: }
160:
161: public String getDir() {
162: if (_dir != null)
163: return _dir;
164: else if (_dirExpr != null)
165: return Util.evalString(_dirExpr);
166: else
167: return null;
168: }
169:
170: public void setDir(String value) {
171: _dir = value;
172: }
173:
174: public String getDisabledClass() {
175: if (_disabledClass != null)
176: return _disabledClass;
177: else if (_disabledClassExpr != null)
178: return Util.evalString(_disabledClassExpr);
179: else
180: return null;
181: }
182:
183: public void setDisabledClass(String value) {
184: _disabledClass = value;
185: }
186:
187: public String getEnabledClass() {
188: if (_enabledClass != null)
189: return _enabledClass;
190: else if (_enabledClassExpr != null)
191: return Util.evalString(_enabledClassExpr);
192: else
193: return null;
194: }
195:
196: public void setEnabledClass(String value) {
197: _enabledClass = value;
198: }
199:
200: public boolean isDisabled() {
201: if (_disabled != null)
202: return _disabled;
203: else if (_disabledExpr != null)
204: return Util.evalBoolean(_disabledExpr);
205: else
206: return false;
207: }
208:
209: public void setDisabled(boolean value) {
210: _disabled = value;
211: }
212:
213: public String getLabel() {
214: if (_label != null)
215: return _label;
216: else if (_labelExpr != null)
217: return Util.evalString(_labelExpr);
218: else
219: return null;
220: }
221:
222: public void setLabel(String value) {
223: _label = value;
224: }
225:
226: public String getLang() {
227: if (_lang != null)
228: return _lang;
229: else if (_langExpr != null)
230: return Util.evalString(_langExpr);
231: else
232: return null;
233: }
234:
235: public void setLang(String value) {
236: _lang = value;
237: }
238:
239: public String getLayout() {
240: if (_layout != null)
241: return _layout;
242: else if (_layoutExpr != null)
243: return Util.evalString(_layoutExpr);
244: else
245: return null;
246: }
247:
248: public void setLayout(String value) {
249: _layout = value;
250: }
251:
252: public String getOnblur() {
253: if (_onblur != null)
254: return _onblur;
255: else if (_onblurExpr != null)
256: return Util.evalString(_onblurExpr);
257: else
258: return null;
259: }
260:
261: public void setOnblur(String value) {
262: _onblur = value;
263: }
264:
265: public String getOnchange() {
266: if (_onchange != null)
267: return _onchange;
268: else if (_onchangeExpr != null)
269: return Util.evalString(_onchangeExpr);
270: else
271: return null;
272: }
273:
274: public void setOnchange(String value) {
275: _onchange = value;
276: }
277:
278: public String getOnclick() {
279: if (_onclick != null)
280: return _onclick;
281: else if (_onclickExpr != null)
282: return Util.evalString(_onclickExpr);
283: else
284: return null;
285: }
286:
287: public void setOnclick(String value) {
288: _onclick = value;
289: }
290:
291: public String getOndblclick() {
292: if (_ondblclick != null)
293: return _ondblclick;
294: else if (_ondblclickExpr != null)
295: return Util.evalString(_ondblclickExpr);
296: else
297: return null;
298: }
299:
300: public void setOndblclick(String value) {
301: _ondblclick = value;
302: }
303:
304: public String getOnfocus() {
305: if (_onfocus != null)
306: return _onfocus;
307: else if (_onfocusExpr != null)
308: return Util.evalString(_onfocusExpr);
309: else
310: return null;
311: }
312:
313: public void setOnfocus(String value) {
314: _onfocus = value;
315: }
316:
317: public String getOnkeydown() {
318: if (_onkeydown != null)
319: return _onkeydown;
320: else if (_onkeydownExpr != null)
321: return Util.evalString(_onkeydownExpr);
322: else
323: return null;
324: }
325:
326: public void setOnkeydown(String value) {
327: _onkeydown = value;
328: }
329:
330: public String getOnkeypress() {
331: if (_onkeypress != null)
332: return _onkeypress;
333: else if (_onkeypressExpr != null)
334: return Util.evalString(_onkeypressExpr);
335: else
336: return null;
337: }
338:
339: public void setOnkeypress(String value) {
340: _onkeypress = value;
341: }
342:
343: public String getOnkeyup() {
344: if (_onkeyup != null)
345: return _onkeyup;
346: else if (_onkeyupExpr != null)
347: return Util.evalString(_onkeyupExpr);
348: else
349: return null;
350: }
351:
352: public void setOnkeyup(String value) {
353: _onkeyup = value;
354: }
355:
356: public String getOnmousedown() {
357: if (_onmousedown != null)
358: return _onmousedown;
359: else if (_onmousedownExpr != null)
360: return Util.evalString(_onmousedownExpr);
361: else
362: return null;
363: }
364:
365: public void setOnmousedown(String value) {
366: _onmousedown = value;
367: }
368:
369: public String getOnmousemove() {
370: if (_onmousemove != null)
371: return _onmousemove;
372: else if (_onmousemoveExpr != null)
373: return Util.evalString(_onmousemoveExpr);
374: else
375: return null;
376: }
377:
378: public void setOnmousemove(String value) {
379: _onmousemove = value;
380: }
381:
382: public String getOnmouseout() {
383: if (_onmouseout != null)
384: return _onmouseout;
385: else if (_onmouseoutExpr != null)
386: return Util.evalString(_onmouseoutExpr);
387: else
388: return null;
389: }
390:
391: public void setOnmouseout(String value) {
392: _onmouseout = value;
393: }
394:
395: public String getOnmouseover() {
396: if (_onmouseover != null)
397: return _onmouseover;
398: else if (_onmouseoverExpr != null)
399: return Util.evalString(_onmouseoverExpr);
400: else
401: return null;
402: }
403:
404: public void setOnmouseover(String value) {
405: _onmouseover = value;
406: }
407:
408: public String getOnmouseup() {
409: if (_onmouseup != null)
410: return _onmouseup;
411: else if (_onmouseupExpr != null)
412: return Util.evalString(_onmouseupExpr);
413: else
414: return null;
415: }
416:
417: public void setOnmouseup(String value) {
418: _onmouseup = value;
419: }
420:
421: public String getOnselect() {
422: if (_onselect != null)
423: return _onselect;
424: else if (_onselectExpr != null)
425: return Util.evalString(_onselectExpr);
426: else
427: return null;
428: }
429:
430: public void setOnselect(String value) {
431: _onselect = value;
432: }
433:
434: public boolean isReadonly() {
435: if (_readonly != null)
436: return _readonly;
437: else if (_readonlyExpr != null)
438: return Util.evalBoolean(_readonlyExpr);
439: else
440: return false;
441: }
442:
443: public void setReadonly(boolean value) {
444: _readonly = value;
445: }
446:
447: public String getStyle() {
448: if (_style != null)
449: return _style;
450: else if (_styleExpr != null)
451: return Util.evalString(_styleExpr);
452: else
453: return null;
454: }
455:
456: public void setStyle(String value) {
457: _style = value;
458: }
459:
460: public String getStyleClass() {
461: if (_styleClass != null)
462: return _styleClass;
463: else if (_styleClassExpr != null)
464: return Util.evalString(_styleClassExpr);
465: else
466: return null;
467: }
468:
469: public void setStyleClass(String value) {
470: _styleClass = value;
471: }
472:
473: public String getTabindex() {
474: if (_tabindex != null)
475: return _tabindex;
476: else if (_tabindexExpr != null)
477: return Util.evalString(_tabindexExpr);
478: else
479: return null;
480: }
481:
482: public void setTabindex(String value) {
483: _tabindex = value;
484: }
485:
486: public String getTitle() {
487: if (_title != null)
488: return _title;
489: else if (_titleExpr != null)
490: return Util.evalString(_titleExpr);
491: else
492: return null;
493: }
494:
495: public void setTitle(String value) {
496: _title = value;
497: }
498:
499: //
500: // value expression override
501: //
502:
503: /**
504: * Returns the value expression with the given name.
505: */
506: @Override
507: public ValueExpression getValueExpression(String name) {
508: PropEnum prop = _propMap.get(name);
509:
510: if (prop != null) {
511: switch (prop) {
512: case ACCESSKEY:
513: return _accesskeyExpr;
514: case BORDER:
515: return _borderExpr;
516: case DIR:
517: return _dirExpr;
518: case DISABLED:
519: return _disabledExpr;
520: case DISABLED_CLASS:
521: return _disabledClassExpr;
522: case ENABLED_CLASS:
523: return _enabledClassExpr;
524: case LABEL:
525: return _labelExpr;
526: case LANG:
527: return _langExpr;
528: case LAYOUT:
529: return _layoutExpr;
530: case ONBLUR:
531: return _onblurExpr;
532: case ONCHANGE:
533: return _onchangeExpr;
534: case ONCLICK:
535: return _onclickExpr;
536: case ONDBLCLICK:
537: return _ondblclickExpr;
538: case ONFOCUS:
539: return _onfocusExpr;
540: case ONKEYDOWN:
541: return _onkeydownExpr;
542: case ONKEYPRESS:
543: return _onkeypressExpr;
544: case ONKEYUP:
545: return _onkeyupExpr;
546: case ONMOUSEDOWN:
547: return _onmousedownExpr;
548: case ONMOUSEMOVE:
549: return _onmousemoveExpr;
550: case ONMOUSEOUT:
551: return _onmouseoutExpr;
552: case ONMOUSEOVER:
553: return _onmouseoverExpr;
554: case ONMOUSEUP:
555: return _onmouseupExpr;
556: case ONSELECT:
557: return _onselectExpr;
558: case READONLY:
559: return _readonlyExpr;
560: case STYLE:
561: return _styleExpr;
562: case STYLE_CLASS:
563: return _styleClassExpr;
564: case TABINDEX:
565: return _tabindexExpr;
566: case TITLE:
567: return _titleExpr;
568: }
569: }
570:
571: return super .getValueExpression(name);
572: }
573:
574: /**
575: * Sets the value expression with the given name.
576: */
577: @Override
578: public void setValueExpression(String name, ValueExpression expr) {
579: PropEnum prop = _propMap.get(name);
580:
581: if (prop != null) {
582: switch (prop) {
583: case ACCESSKEY:
584: if (expr != null && expr.isLiteralText()) {
585: _accesskey = Util.evalString(expr);
586: return;
587: } else
588: _accesskeyExpr = expr;
589: break;
590:
591: case BORDER:
592: if (expr != null && expr.isLiteralText()) {
593: _border = Util.evalInt(expr);
594: return;
595: } else
596: _borderExpr = expr;
597: break;
598:
599: case DIR:
600: if (expr != null && expr.isLiteralText()) {
601: _dir = Util.evalString(expr);
602: return;
603: } else
604: _dirExpr = expr;
605: break;
606:
607: case DISABLED:
608: if (expr != null && expr.isLiteralText()) {
609: _disabled = Util.evalBoolean(expr);
610: return;
611: } else
612: _disabledExpr = expr;
613: break;
614:
615: case DISABLED_CLASS:
616: if (expr != null && expr.isLiteralText()) {
617: _disabledClass = Util.evalString(expr);
618: return;
619: } else
620: _disabledClassExpr = expr;
621: break;
622:
623: case ENABLED_CLASS:
624: if (expr != null && expr.isLiteralText()) {
625: _enabledClass = Util.evalString(expr);
626: return;
627: } else
628: _enabledClassExpr = expr;
629: break;
630:
631: case LABEL:
632: if (expr != null && expr.isLiteralText()) {
633: _label = Util.evalString(expr);
634: return;
635: } else
636: _labelExpr = expr;
637: break;
638:
639: case LANG:
640: if (expr != null && expr.isLiteralText()) {
641: _lang = Util.evalString(expr);
642: return;
643: } else
644: _langExpr = expr;
645: break;
646:
647: case LAYOUT:
648: if (expr != null && expr.isLiteralText()) {
649: _layout = Util.evalString(expr);
650: return;
651: } else
652: _layoutExpr = expr;
653: break;
654:
655: case ONBLUR:
656: if (expr != null && expr.isLiteralText()) {
657: _onblur = Util.evalString(expr);
658: return;
659: } else
660: _onblurExpr = expr;
661: break;
662:
663: case ONCHANGE:
664: if (expr != null && expr.isLiteralText()) {
665: _onchange = Util.evalString(expr);
666: return;
667: } else
668: _onchangeExpr = expr;
669: break;
670:
671: case ONCLICK:
672: if (expr != null && expr.isLiteralText()) {
673: _onclick = Util.evalString(expr);
674: return;
675: } else
676: _onclickExpr = expr;
677: break;
678:
679: case ONDBLCLICK:
680: if (expr != null && expr.isLiteralText()) {
681: _ondblclick = Util.evalString(expr);
682: return;
683: } else
684: _ondblclickExpr = expr;
685: break;
686:
687: case ONFOCUS:
688: if (expr != null && expr.isLiteralText()) {
689: _onfocus = Util.evalString(expr);
690: return;
691: } else
692: _onfocusExpr = expr;
693: break;
694:
695: case ONKEYDOWN:
696: if (expr != null && expr.isLiteralText()) {
697: _onkeydown = Util.evalString(expr);
698: return;
699: } else
700: _onkeydownExpr = expr;
701: break;
702:
703: case ONKEYPRESS:
704: if (expr != null && expr.isLiteralText()) {
705: _onkeypress = Util.evalString(expr);
706: return;
707: } else
708: _onkeypressExpr = expr;
709: break;
710:
711: case ONKEYUP:
712: if (expr != null && expr.isLiteralText()) {
713: _onkeyup = Util.evalString(expr);
714: return;
715: } else
716: _onkeyupExpr = expr;
717: break;
718:
719: case ONMOUSEDOWN:
720: if (expr != null && expr.isLiteralText()) {
721: _onmousedown = Util.evalString(expr);
722: return;
723: } else
724: _onmousedownExpr = expr;
725: break;
726:
727: case ONMOUSEMOVE:
728: if (expr != null && expr.isLiteralText()) {
729: _onmousemove = Util.evalString(expr);
730: return;
731: } else
732: _onmousemoveExpr = expr;
733: break;
734:
735: case ONMOUSEOUT:
736: if (expr != null && expr.isLiteralText()) {
737: _onmouseout = Util.evalString(expr);
738: return;
739: } else
740: _onmouseoutExpr = expr;
741: break;
742:
743: case ONMOUSEOVER:
744: if (expr != null && expr.isLiteralText()) {
745: _onmouseover = Util.evalString(expr);
746: return;
747: } else
748: _onmouseoverExpr = expr;
749: break;
750:
751: case ONMOUSEUP:
752: if (expr != null && expr.isLiteralText()) {
753: _onmouseup = Util.evalString(expr);
754: return;
755: } else
756: _onmouseupExpr = expr;
757: break;
758:
759: case ONSELECT:
760: if (expr != null && expr.isLiteralText()) {
761: _onselect = Util.evalString(expr);
762: return;
763: } else
764: _onselectExpr = expr;
765: break;
766:
767: case READONLY:
768: if (expr != null && expr.isLiteralText()) {
769: _readonly = Util.evalBoolean(expr);
770: return;
771: } else
772: _readonlyExpr = expr;
773: break;
774:
775: case STYLE:
776: if (expr != null && expr.isLiteralText()) {
777: _style = Util.evalString(expr);
778: return;
779: } else
780: _styleExpr = expr;
781: break;
782:
783: case STYLE_CLASS:
784: if (expr != null && expr.isLiteralText()) {
785: _styleClass = Util.evalString(expr);
786: return;
787: } else
788: _styleClassExpr = expr;
789: break;
790:
791: case TABINDEX:
792: if (expr != null && expr.isLiteralText()) {
793: _tabindex = Util.evalString(expr);
794: return;
795: } else
796: _tabindexExpr = expr;
797: break;
798:
799: case TITLE:
800: if (expr != null && expr.isLiteralText()) {
801: _title = Util.evalString(expr);
802: return;
803: } else
804: _titleExpr = expr;
805: break;
806: }
807: }
808:
809: super .setValueExpression(name, expr);
810: }
811:
812: //
813: // state
814: //
815:
816: public Object saveState(FacesContext context) {
817: Object parent = super .saveState(context);
818:
819: return new Object[] { parent,
820:
821: _accesskey, _dir, _disabled, _disabledClass, _enabledClass,
822: _label, _lang,
823:
824: _onblur, _onchange, _onclick, _ondblclick, _onfocus,
825:
826: _onkeydown, _onkeypress, _onkeyup,
827:
828: _onmousedown, _onmousemove, _onmouseout, _onmouseover,
829: _onmouseup,
830:
831: _onselect,
832:
833: _readonly,
834:
835: _style, _styleClass, _tabindex, _title, };
836: }
837:
838: public void restoreState(FacesContext context, Object value) {
839: Object[] state = (Object[]) value;
840:
841: int i = 0;
842:
843: if (state != null)
844: super .restoreState(context, state[i++]);
845:
846: _accesskey = (String) state[i++];
847: _dir = (String) state[i++];
848: _disabled = (Boolean) state[i++];
849: _disabledClass = (String) state[i++];
850: _enabledClass = (String) state[i++];
851: _label = (String) state[i++];
852: _lang = (String) state[i++];
853: _onblur = (String) state[i++];
854: _onchange = (String) state[i++];
855: _onclick = (String) state[i++];
856: _ondblclick = (String) state[i++];
857: _onfocus = (String) state[i++];
858: _onkeydown = (String) state[i++];
859: _onkeypress = (String) state[i++];
860: _onkeyup = (String) state[i++];
861: _onmousedown = (String) state[i++];
862: _onmousemove = (String) state[i++];
863: _onmouseout = (String) state[i++];
864: _onmouseover = (String) state[i++];
865: _onmouseup = (String) state[i++];
866: _onselect = (String) state[i++];
867: _readonly = (Boolean) state[i++];
868: _style = (String) state[i++];
869: _styleClass = (String) state[i++];
870: _tabindex = (String) state[i++];
871: _title = (String) state[i++];
872: }
873:
874: //
875: // utility
876: //
877:
878: private enum PropEnum {
879: ACCESSKEY, BORDER, DIR, DISABLED, DISABLED_CLASS, ENABLED_CLASS, LABEL, LANG, LAYOUT, ONBLUR, ONCHANGE, ONCLICK, ONDBLCLICK, ONFOCUS, ONKEYDOWN, ONKEYPRESS, ONKEYUP, ONMOUSEDOWN, ONMOUSEMOVE, ONMOUSEOUT, ONMOUSEOVER, ONMOUSEUP, ONSELECT, READONLY, STYLE, STYLE_CLASS, TABINDEX, TITLE,
880: }
881:
882: static {
883: _propMap.put("accesskey", PropEnum.ACCESSKEY);
884: _propMap.put("border", PropEnum.BORDER);
885: _propMap.put("dir", PropEnum.DIR);
886: _propMap.put("disabled", PropEnum.DISABLED);
887: _propMap.put("disabledClass", PropEnum.DISABLED_CLASS);
888: _propMap.put("enabledClass", PropEnum.ENABLED_CLASS);
889: _propMap.put("label", PropEnum.LABEL);
890: _propMap.put("lang", PropEnum.LANG);
891: _propMap.put("layout", PropEnum.LAYOUT);
892: _propMap.put("onblur", PropEnum.ONBLUR);
893: _propMap.put("onchange", PropEnum.ONCHANGE);
894: _propMap.put("onclick", PropEnum.ONCLICK);
895: _propMap.put("ondblclick", PropEnum.ONDBLCLICK);
896: _propMap.put("onfocus", PropEnum.ONFOCUS);
897: _propMap.put("onkeydown", PropEnum.ONKEYDOWN);
898: _propMap.put("onkeypress", PropEnum.ONKEYPRESS);
899: _propMap.put("onkeyup", PropEnum.ONKEYUP);
900: _propMap.put("onmousedown", PropEnum.ONMOUSEDOWN);
901: _propMap.put("onmousemove", PropEnum.ONMOUSEMOVE);
902: _propMap.put("onmouseover", PropEnum.ONMOUSEOVER);
903: _propMap.put("onmouseout", PropEnum.ONMOUSEOUT);
904: _propMap.put("onmouseup", PropEnum.ONMOUSEUP);
905: _propMap.put("onselect", PropEnum.ONSELECT);
906: _propMap.put("readonly", PropEnum.READONLY);
907: _propMap.put("style", PropEnum.STYLE);
908: _propMap.put("styleClass", PropEnum.STYLE_CLASS);
909: _propMap.put("tabindex", PropEnum.TABINDEX);
910: _propMap.put("title", PropEnum.TITLE);
911: }
912: }
|