1 // WARNING: This file was automatically generated. Do not edit it directly,
2 // or you will lose your changes.
3
4 /*
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements. See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership. The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License. You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied. See the License for the
19 * specific language governing permissions and limitations
20 * under the License.
21 */
22 package org.apache.myfaces.trinidad.component.core.input;
23
24 import javax.faces.component.UIComponent;
25 import org.apache.myfaces.trinidad.bean.FacesBean;
26 import org.apache.myfaces.trinidad.bean.PropertyKey;
27 import org.apache.myfaces.trinidad.component.UIXSelectOne;
28 import org.apache.myfaces.trinidad.util.ComponentUtils;
29
30 /**
31 *
32 * <html><p>The selectOneRadio component creates a component
33 * which allows the user to select a single value from a set of items
34 * displayed as a series of radio buttons.
35 * It can contain any number of
36 * <f:selectItem>, <f:selectItems>, or
37 * <tr:selectItem> components, each of which
38 * represents an available option that the user may select.</p></html>
39 *
40 * <h4>Events:</h4>
41 * <table border="1" width="100%" cellpadding="3" summary="">
42 * <tr bgcolor="#CCCCFF" class="TableHeadingColor">
43 * <th align="left">Type</th>
44 * <th align="left">Phases</th>
45 * <th align="left">Description</th>
46 * </tr>
47 * <tr class="TableRowColor">
48 * <td valign="top"><code>javax.faces.event.ValueChangeEvent</code></td>
49 * <td valign="top" nowrap>Process Validations<br>Apply Request Values</td>
50 * <td valign="top">The valueChange event is delivered when the value
51 attribute is changed.</td>
52 * </tr>
53 * <tr class="TableRowColor">
54 * <td valign="top"><code>org.apache.myfaces.trinidad.event.AttributeChangeEvent</code></td>
55 * <td valign="top" nowrap>Invoke Application<br>Apply Request Values</td>
56 * <td valign="top">Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change events might include the width of a column that supported client-side resizing.</td>
57 * </tr>
58 * </table>
59 */
60 public class CoreSelectOneRadio extends UIXSelectOne
61 {
62 static public final String LAYOUT_HORIZONTAL = "horizontal";
63 static public final String LAYOUT_VERTICAL = "vertical";
64 static public final FacesBean.Type TYPE = new FacesBean.Type(
65 UIXSelectOne.TYPE);
66 static public final PropertyKey CONTENT_STYLE_KEY =
67 TYPE.registerKey("contentStyle", String.class);
68 static public final PropertyKey UNSELECTED_LABEL_KEY =
69 TYPE.registerKey("unselectedLabel", String.class);
70 static public final PropertyKey LAYOUT_KEY =
71 TYPE.registerKey("layout", String.class, "vertical");
72 static public final PropertyKey VALUE_PASS_THRU_KEY =
73 TYPE.registerKey("valuePassThru", Boolean.class, Boolean.FALSE);
74 static public final PropertyKey READ_ONLY_KEY =
75 TYPE.registerKey("readOnly", Boolean.class, Boolean.FALSE);
76 static public final PropertyKey DISABLED_KEY =
77 TYPE.registerKey("disabled", Boolean.class, Boolean.FALSE);
78 static public final PropertyKey LABEL_KEY =
79 TYPE.registerKey("label", String.class);
80 static public final PropertyKey SIMPLE_KEY =
81 TYPE.registerKey("simple", Boolean.class, Boolean.FALSE);
82 static public final PropertyKey ONCHANGE_KEY =
83 TYPE.registerKey("onchange", String.class);
84 static public final PropertyKey INLINE_STYLE_KEY =
85 TYPE.registerKey("inlineStyle", String.class);
86 static public final PropertyKey STYLE_CLASS_KEY =
87 TYPE.registerKey("styleClass", String.class);
88 static public final PropertyKey SHORT_DESC_KEY =
89 TYPE.registerKey("shortDesc", String.class);
90 static public final PropertyKey PARTIAL_TRIGGERS_KEY =
91 TYPE.registerKey("partialTriggers", String[].class);
92 static public final PropertyKey ONCLICK_KEY =
93 TYPE.registerKey("onclick", String.class);
94 static public final PropertyKey ONDBLCLICK_KEY =
95 TYPE.registerKey("ondblclick", String.class);
96 static public final PropertyKey ONMOUSEDOWN_KEY =
97 TYPE.registerKey("onmousedown", String.class);
98 static public final PropertyKey ONMOUSEUP_KEY =
99 TYPE.registerKey("onmouseup", String.class);
100 static public final PropertyKey ONMOUSEOVER_KEY =
101 TYPE.registerKey("onmouseover", String.class);
102 static public final PropertyKey ONMOUSEMOVE_KEY =
103 TYPE.registerKey("onmousemove", String.class);
104 static public final PropertyKey ONMOUSEOUT_KEY =
105 TYPE.registerKey("onmouseout", String.class);
106 static public final PropertyKey ONKEYPRESS_KEY =
107 TYPE.registerKey("onkeypress", String.class);
108 static public final PropertyKey ONKEYDOWN_KEY =
109 TYPE.registerKey("onkeydown", String.class);
110 static public final PropertyKey ONKEYUP_KEY =
111 TYPE.registerKey("onkeyup", String.class);
112 static public final PropertyKey ONBLUR_KEY =
113 TYPE.registerKey("onblur", String.class);
114 static public final PropertyKey ONFOCUS_KEY =
115 TYPE.registerKey("onfocus", String.class);
116 static public final PropertyKey SHOW_REQUIRED_KEY =
117 TYPE.registerKey("showRequired", Boolean.class, Boolean.FALSE);
118 static public final PropertyKey ACCESS_KEY_KEY =
119 TYPE.registerKey("accessKey", Character.class);
120 static public final PropertyKey AUTO_SUBMIT_KEY =
121 TYPE.registerKey("autoSubmit", Boolean.class, Boolean.FALSE);
122 static public final String HELP_FACET = "help";
123
124 static public final String COMPONENT_FAMILY =
125 "org.apache.myfaces.trinidad.SelectOne";
126 static public final String COMPONENT_TYPE =
127 "org.apache.myfaces.trinidad.CoreSelectOneRadio";
128
129 /**
130 * Construct an instance of the CoreSelectOneRadio.
131 */
132 public CoreSelectOneRadio()
133 {
134 super("org.apache.myfaces.trinidad.Radio");
135 }
136
137 /**
138 * This facet should contain field level help.
139 */
140 final public UIComponent getHelp()
141 {
142 return getFacet(HELP_FACET);
143 }
144
145 /**
146 * This facet should contain field level help.
147 */
148 @SuppressWarnings("unchecked")
149 final public void setHelp(UIComponent helpFacet)
150 {
151 getFacets().put(HELP_FACET, helpFacet);
152 }
153
154 /**
155 * Gets the CSS styles to attach to the content of the component. For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".
156 *
157 * @return the new contentStyle value
158 */
159 final public String getContentStyle()
160 {
161 return ComponentUtils.resolveString(getProperty(CONTENT_STYLE_KEY));
162 }
163
164 /**
165 * Sets the CSS styles to attach to the content of the component. For example, you can set the width of that portion to 100 pixels by setting this attribute to "width: 100px".
166 *
167 * @param contentStyle the new contentStyle value
168 */
169 final public void setContentStyle(String contentStyle)
170 {
171 setProperty(CONTENT_STYLE_KEY, (contentStyle));
172 }
173
174 /**
175 * Gets the label for an additional item that indicates no selection has
176 * been made. When the user selects this item, "required" validation will
177 * not pass, or a null value will be set if the component is not "required".
178 *
179 * @return the new unselectedLabel value
180 */
181 final public String getUnselectedLabel()
182 {
183 return ComponentUtils.resolveString(getProperty(UNSELECTED_LABEL_KEY));
184 }
185
186 /**
187 * Sets the label for an additional item that indicates no selection has
188 * been made. When the user selects this item, "required" validation will
189 * not pass, or a null value will be set if the component is not "required".
190 *
191 * @param unselectedLabel the new unselectedLabel value
192 */
193 final public void setUnselectedLabel(String unselectedLabel)
194 {
195 setProperty(UNSELECTED_LABEL_KEY, (unselectedLabel));
196 }
197
198 /**
199 * Gets whether the control displays the buttons
200 * horizontally or vertically.The valid values are "horizontal" and
201 * "vertical", the default being "vertical".
202 *
203 * @return the new layout value
204 */
205 final public String getLayout()
206 {
207 return ComponentUtils.resolveString(getProperty(LAYOUT_KEY), "vertical");
208 }
209
210 /**
211 * Sets whether the control displays the buttons
212 * horizontally or vertically.The valid values are "horizontal" and
213 * "vertical", the default being "vertical".
214 *
215 * @param layout the new layout value
216 */
217 final public void setLayout(String layout)
218 {
219 setProperty(LAYOUT_KEY, (layout));
220 }
221
222 /**
223 * Gets whether or not the values are passed through to
224 * the client. When valuePassThru is false
225 * the value and the options' values
226 * are converted to indexes before being sent to the client.
227 * Therefore, when valuePassThru is false,
228 * there is no need to write your own converter when you are using custom Objects
229 * as your values and/or options.
230 * If you need to know the actual values on the client-side, then you can set
231 * valuePassThru to true. This will pass the values through to the client,
232 * using your custom converter if it is available; a custom converter is
233 * needed if you are using custom objects. The default is false.
234 *
235 * @return the new valuePassThru value
236 */
237 final public boolean isValuePassThru()
238 {
239 return ComponentUtils.resolveBoolean(getProperty(VALUE_PASS_THRU_KEY), false);
240 }
241
242 /**
243 * Sets whether or not the values are passed through to
244 * the client. When valuePassThru is false
245 * the value and the options' values
246 * are converted to indexes before being sent to the client.
247 * Therefore, when valuePassThru is false,
248 * there is no need to write your own converter when you are using custom Objects
249 * as your values and/or options.
250 * If you need to know the actual values on the client-side, then you can set
251 * valuePassThru to true. This will pass the values through to the client,
252 * using your custom converter if it is available; a custom converter is
253 * needed if you are using custom objects. The default is false.
254 *
255 * @param valuePassThru the new valuePassThru value
256 */
257 final public void setValuePassThru(boolean valuePassThru)
258 {
259 setProperty(VALUE_PASS_THRU_KEY, valuePassThru ? Boolean.TRUE : Boolean.FALSE);
260 }
261
262 /**
263 * Gets whether the element is read-only.
264 *
265 * @return the new readOnly value
266 */
267 final public boolean isReadOnly()
268 {
269 return ComponentUtils.resolveBoolean(getProperty(READ_ONLY_KEY), false);
270 }
271
272 /**
273 * Sets whether the element is read-only.
274 *
275 * @param readOnly the new readOnly value
276 */
277 final public void setReadOnly(boolean readOnly)
278 {
279 setProperty(READ_ONLY_KEY, readOnly ? Boolean.TRUE : Boolean.FALSE);
280 }
281
282 /**
283 * Gets whether the element is disabled.
284 *
285 * @return the new disabled value
286 */
287 final public boolean isDisabled()
288 {
289 return ComponentUtils.resolveBoolean(getProperty(DISABLED_KEY), false);
290 }
291
292 /**
293 * Sets whether the element is disabled.
294 *
295 * @param disabled the new disabled value
296 */
297 final public void setDisabled(boolean disabled)
298 {
299 setProperty(DISABLED_KEY, disabled ? Boolean.TRUE : Boolean.FALSE);
300 }
301
302 /**
303 * Gets the label of the bean.
304 *
305 * @return the new label value
306 */
307 final public String getLabel()
308 {
309 return ComponentUtils.resolveString(getProperty(LABEL_KEY));
310 }
311
312 /**
313 * Sets the label of the bean.
314 *
315 * @param label the new label value
316 */
317 final public void setLabel(String label)
318 {
319 setProperty(LABEL_KEY, (label));
320 }
321
322 /**
323 * Gets a boolean value that controls whether the component
324 * provides label and message support; when set to "true", the component will
325 * not display messaging support or the label (these attributes may be ignored: label,
326 * labelAndAccessKey, accessKey, showRequired,
327 * tip), and may use simpler layout primitives
328 *
329 * @return the new simple value
330 */
331 final public boolean isSimple()
332 {
333 return ComponentUtils.resolveBoolean(getProperty(SIMPLE_KEY), false);
334 }
335
336 /**
337 * Sets a boolean value that controls whether the component
338 * provides label and message support; when set to "true", the component will
339 * not display messaging support or the label (these attributes may be ignored: label,
340 * labelAndAccessKey, accessKey, showRequired,
341 * tip), and may use simpler layout primitives
342 *
343 * @param simple the new simple value
344 */
345 final public void setSimple(boolean simple)
346 {
347 setProperty(SIMPLE_KEY, simple ? Boolean.TRUE : Boolean.FALSE);
348 }
349
350 /**
351 * Gets event handler for when the value is changed.
352 *
353 * @return the new onchange value
354 */
355 final public String getOnchange()
356 {
357 return ComponentUtils.resolveString(getProperty(ONCHANGE_KEY));
358 }
359
360 /**
361 * Sets event handler for when the value is changed.
362 *
363 * @param onchange the new onchange value
364 */
365 final public void setOnchange(String onchange)
366 {
367 setProperty(ONCHANGE_KEY, (onchange));
368 }
369
370 /**
371 * Gets the CSS styles to use for this component.
372 *
373 * @return the new inlineStyle value
374 */
375 final public String getInlineStyle()
376 {
377 return ComponentUtils.resolveString(getProperty(INLINE_STYLE_KEY));
378 }
379
380 /**
381 * Sets the CSS styles to use for this component.
382 *
383 * @param inlineStyle the new inlineStyle value
384 */
385 final public void setInlineStyle(String inlineStyle)
386 {
387 setProperty(INLINE_STYLE_KEY, (inlineStyle));
388 }
389
390 /**
391 * Gets a CSS style class to use for this component.
392 *
393 * @return the new styleClass value
394 */
395 final public String getStyleClass()
396 {
397 return ComponentUtils.resolveString(getProperty(STYLE_CLASS_KEY));
398 }
399
400 /**
401 * Sets a CSS style class to use for this component.
402 *
403 * @param styleClass the new styleClass value
404 */
405 final public void setStyleClass(String styleClass)
406 {
407 setProperty(STYLE_CLASS_KEY, (styleClass));
408 }
409
410 /**
411 * Gets The short description of the component. This text is commonly used by user agents to display tooltip help text.
412 *
413 * @return the new shortDesc value
414 */
415 final public String getShortDesc()
416 {
417 return ComponentUtils.resolveString(getProperty(SHORT_DESC_KEY));
418 }
419
420 /**
421 * Sets The short description of the component. This text is commonly used by user agents to display tooltip help text.
422 *
423 * @param shortDesc the new shortDesc value
424 */
425 final public void setShortDesc(String shortDesc)
426 {
427 setProperty(SHORT_DESC_KEY, (shortDesc));
428 }
429
430 /**
431 * Gets the IDs of the components that should trigger a partial update.
432 * <p>
433 * This component will listen on the trigger components. If one of the
434 * trigger components receives an event that will cause it to update
435 * in some way, this component will request to be updated too.</p>
436 * <p>
437 * Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
438 * </p>
439 * <p>
440 * Identifiers must account for NamingContainers. You can use a single colon to start the search from the root,
441 * or use multiple colons to move up through the NamingContainer. For example,
442 * "::" will pop out of this component's naming container (it pops out of itself if it is a naming container),
443 * ":::" will pop out of two naming containers, etc. The search for
444 * the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the
445 * component with id = commandButton1 after popping out of two naming containers relative to this component.
446 * To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
447 *
448 * @return the new partialTriggers value
449 */
450 final public String[] getPartialTriggers()
451 {
452 return (String[])getProperty(PARTIAL_TRIGGERS_KEY);
453 }
454
455 /**
456 * Sets the IDs of the components that should trigger a partial update.
457 * <p>
458 * This component will listen on the trigger components. If one of the
459 * trigger components receives an event that will cause it to update
460 * in some way, this component will request to be updated too.</p>
461 * <p>
462 * Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
463 * </p>
464 * <p>
465 * Identifiers must account for NamingContainers. You can use a single colon to start the search from the root,
466 * or use multiple colons to move up through the NamingContainer. For example,
467 * "::" will pop out of this component's naming container (it pops out of itself if it is a naming container),
468 * ":::" will pop out of two naming containers, etc. The search for
469 * the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the
470 * component with id = commandButton1 after popping out of two naming containers relative to this component.
471 * To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
472 *
473 * @param partialTriggers the new partialTriggers value
474 */
475 final public void setPartialTriggers(String[] partialTriggers)
476 {
477 setProperty(PARTIAL_TRIGGERS_KEY, (partialTriggers));
478 }
479
480 /**
481 * Gets an onclick Javascript handler.
482 *
483 * @return the new onclick value
484 */
485 final public String getOnclick()
486 {
487 return ComponentUtils.resolveString(getProperty(ONCLICK_KEY));
488 }
489
490 /**
491 * Sets an onclick Javascript handler.
492 *
493 * @param onclick the new onclick value
494 */
495 final public void setOnclick(String onclick)
496 {
497 setProperty(ONCLICK_KEY, (onclick));
498 }
499
500 /**
501 * Gets an ondblclick Javascript handler.
502 *
503 * @return the new ondblclick value
504 */
505 final public String getOndblclick()
506 {
507 return ComponentUtils.resolveString(getProperty(ONDBLCLICK_KEY));
508 }
509
510 /**
511 * Sets an ondblclick Javascript handler.
512 *
513 * @param ondblclick the new ondblclick value
514 */
515 final public void setOndblclick(String ondblclick)
516 {
517 setProperty(ONDBLCLICK_KEY, (ondblclick));
518 }
519
520 /**
521 * Gets an onmousedown Javascript handler.
522 *
523 * @return the new onmousedown value
524 */
525 final public String getOnmousedown()
526 {
527 return ComponentUtils.resolveString(getProperty(ONMOUSEDOWN_KEY));
528 }
529
530 /**
531 * Sets an onmousedown Javascript handler.
532 *
533 * @param onmousedown the new onmousedown value
534 */
535 final public void setOnmousedown(String onmousedown)
536 {
537 setProperty(ONMOUSEDOWN_KEY, (onmousedown));
538 }
539
540 /**
541 * Gets an onmouseup Javascript handler.
542 *
543 * @return the new onmouseup value
544 */
545 final public String getOnmouseup()
546 {
547 return ComponentUtils.resolveString(getProperty(ONMOUSEUP_KEY));
548 }
549
550 /**
551 * Sets an onmouseup Javascript handler.
552 *
553 * @param onmouseup the new onmouseup value
554 */
555 final public void setOnmouseup(String onmouseup)
556 {
557 setProperty(ONMOUSEUP_KEY, (onmouseup));
558 }
559
560 /**
561 * Gets an onmouseover Javascript handler.
562 *
563 * @return the new onmouseover value
564 */
565 final public String getOnmouseover()
566 {
567 return ComponentUtils.resolveString(getProperty(ONMOUSEOVER_KEY));
568 }
569
570 /**
571 * Sets an onmouseover Javascript handler.
572 *
573 * @param onmouseover the new onmouseover value
574 */
575 final public void setOnmouseover(String onmouseover)
576 {
577 setProperty(ONMOUSEOVER_KEY, (onmouseover));
578 }
579
580 /**
581 * Gets an onmousemove Javascript handler.
582 *
583 * @return the new onmousemove value
584 */
585 final public String getOnmousemove()
586 {
587 return ComponentUtils.resolveString(getProperty(ONMOUSEMOVE_KEY));
588 }
589
590 /**
591 * Sets an onmousemove Javascript handler.
592 *
593 * @param onmousemove the new onmousemove value
594 */
595 final public void setOnmousemove(String onmousemove)
596 {
597 setProperty(ONMOUSEMOVE_KEY, (onmousemove));
598 }
599
600 /**
601 * Gets an onmouseout Javascript handler.
602 *
603 * @return the new onmouseout value
604 */
605 final public String getOnmouseout()
606 {
607 return ComponentUtils.resolveString(getProperty(ONMOUSEOUT_KEY));
608 }
609
610 /**
611 * Sets an onmouseout Javascript handler.
612 *
613 * @param onmouseout the new onmouseout value
614 */
615 final public void setOnmouseout(String onmouseout)
616 {
617 setProperty(ONMOUSEOUT_KEY, (onmouseout));
618 }
619
620 /**
621 * Gets an onkeypress Javascript handler.
622 *
623 * @return the new onkeypress value
624 */
625 final public String getOnkeypress()
626 {
627 return ComponentUtils.resolveString(getProperty(ONKEYPRESS_KEY));
628 }
629
630 /**
631 * Sets an onkeypress Javascript handler.
632 *
633 * @param onkeypress the new onkeypress value
634 */
635 final public void setOnkeypress(String onkeypress)
636 {
637 setProperty(ONKEYPRESS_KEY, (onkeypress));
638 }
639
640 /**
641 * Gets an onkeydown Javascript handler.
642 *
643 * @return the new onkeydown value
644 */
645 final public String getOnkeydown()
646 {
647 return ComponentUtils.resolveString(getProperty(ONKEYDOWN_KEY));
648 }
649
650 /**
651 * Sets an onkeydown Javascript handler.
652 *
653 * @param onkeydown the new onkeydown value
654 */
655 final public void setOnkeydown(String onkeydown)
656 {
657 setProperty(ONKEYDOWN_KEY, (onkeydown));
658 }
659
660 /**
661 * Gets an onkeyup Javascript handler.
662 *
663 * @return the new onkeyup value
664 */
665 final public String getOnkeyup()
666 {
667 return ComponentUtils.resolveString(getProperty(ONKEYUP_KEY));
668 }
669
670 /**
671 * Sets an onkeyup Javascript handler.
672 *
673 * @param onkeyup the new onkeyup value
674 */
675 final public void setOnkeyup(String onkeyup)
676 {
677 setProperty(ONKEYUP_KEY, (onkeyup));
678 }
679
680 /**
681 * Gets the event handler for the component losing the focus.
682 *
683 * @return the new onblur value
684 */
685 final public String getOnblur()
686 {
687 return ComponentUtils.resolveString(getProperty(ONBLUR_KEY));
688 }
689
690 /**
691 * Sets the event handler for the component losing the focus.
692 *
693 * @param onblur the new onblur value
694 */
695 final public void setOnblur(String onblur)
696 {
697 setProperty(ONBLUR_KEY, (onblur));
698 }
699
700 /**
701 * Gets the event handler for the component gaining the focus.
702 *
703 * @return the new onfocus value
704 */
705 final public String getOnfocus()
706 {
707 return ComponentUtils.resolveString(getProperty(ONFOCUS_KEY));
708 }
709
710 /**
711 * Sets the event handler for the component gaining the focus.
712 *
713 * @param onfocus the new onfocus value
714 */
715 final public void setOnfocus(String onfocus)
716 {
717 setProperty(ONFOCUS_KEY, (onfocus));
718 }
719
720 /**
721 * Gets whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
722 * "showRequired" attribute must be false for the visual indication not to be displayed.
723 *
724 * @return the new showRequired value
725 */
726 final public boolean isShowRequired()
727 {
728 return ComponentUtils.resolveBoolean(getProperty(SHOW_REQUIRED_KEY), false);
729 }
730
731 /**
732 * Sets whether the associated control displays a visual indication of required user input. If a "required" attribute is also present, both the "required" attribute and the
733 * "showRequired" attribute must be false for the visual indication not to be displayed.
734 *
735 * @param showRequired the new showRequired value
736 */
737 final public void setShowRequired(boolean showRequired)
738 {
739 setProperty(SHOW_REQUIRED_KEY, showRequired ? Boolean.TRUE : Boolean.FALSE);
740 }
741
742 /**
743 * Gets <html>
744 * Character used to gain quick access to
745 * the form element specified by the
746 * <code>for</code>, if set (or this component itself,
747 * if it is a "non-simple" form element).
748 * For accessibility reasons, this functionality is not supported
749 * in screen reader mode.
750 * If the same access key appears in multiple locations in the
751 * same page of output, the rendering user agent will cycle
752 * among the elements accessed by the similar keys.
753 * <p>
754 * This attribute is sometimes referred to as the "mnemonic".
755 * </p></html>
756 *
757 * @return the new accessKey value
758 */
759 final public char getAccessKey()
760 {
761 return ComponentUtils.resolveCharacter((Character)getProperty(ACCESS_KEY_KEY));
762 }
763
764 /**
765 * Sets <html>
766 * Character used to gain quick access to
767 * the form element specified by the
768 * <code>for</code>, if set (or this component itself,
769 * if it is a "non-simple" form element).
770 * For accessibility reasons, this functionality is not supported
771 * in screen reader mode.
772 * If the same access key appears in multiple locations in the
773 * same page of output, the rendering user agent will cycle
774 * among the elements accessed by the similar keys.
775 * <p>
776 * This attribute is sometimes referred to as the "mnemonic".
777 * </p></html>
778 *
779 * @param accessKey the new accessKey value
780 */
781 final public void setAccessKey(char accessKey)
782 {
783 setProperty(ACCESS_KEY_KEY, Character.valueOf(accessKey));
784 }
785
786 /**
787 * Gets If set to TRUE on a form element, the component will automatically submit
788 * the enclosing form when an appropriate action takes place (a click, text
789 * change, etc.).
790 *
791 * @return the new autoSubmit value
792 */
793 final public boolean isAutoSubmit()
794 {
795 return ComponentUtils.resolveBoolean(getProperty(AUTO_SUBMIT_KEY), false);
796 }
797
798 /**
799 * Sets If set to TRUE on a form element, the component will automatically submit
800 * the enclosing form when an appropriate action takes place (a click, text
801 * change, etc.).
802 *
803 * @param autoSubmit the new autoSubmit value
804 */
805 final public void setAutoSubmit(boolean autoSubmit)
806 {
807 setProperty(AUTO_SUBMIT_KEY, autoSubmit ? Boolean.TRUE : Boolean.FALSE);
808 }
809
810 @Override
811 public String getFamily()
812 {
813 return COMPONENT_FAMILY;
814 }
815
816 @Override
817 protected FacesBean.Type getBeanType()
818 {
819 return TYPE;
820 }
821
822 /**
823 * Construct an instance of the CoreSelectOneRadio.
824 */
825 protected CoreSelectOneRadio(
826 String rendererType
827 )
828 {
829 super(rendererType);
830 }
831
832 static
833 {
834 TYPE.lockAndRegister("org.apache.myfaces.trinidad.SelectOne","org.apache.myfaces.trinidad.Radio");
835 }
836 }