View Javadoc

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.UIXSelectInput;
28  import org.apache.myfaces.trinidad.util.ComponentUtils;
29  
30  /**
31   *
32   * <html:p>
33   *         The inputListOfValues is a text field that also supports
34   * launching a dialog to assist users in entering a value.  The dialog
35   * to use is specified via the &quot;action&quot; attribute, which should use the
36   * &quot;dialog:*&quot; syntax.  The inputListOfValues will automatically be populated
37   * using the return value of the dialog;  see the document on
38   * Processes and Dialogs for more information about writing dialogs.
39   * (If the user's device does not support secondary windows,
40   * the &quot;dialog&quot; will be shown in the same window.)
41   *          </html:p>
42   *
43   * <h4>Events:</h4>
44   * <table border="1" width="100%" cellpadding="3" summary="">
45   * <tr bgcolor="#CCCCFF" class="TableHeadingColor">
46   * <th align="left">Type</th>
47   * <th align="left">Phases</th>
48   * <th align="left">Description</th>
49   * </tr>
50   * <tr class="TableRowColor">
51   * <td valign="top"><code>javax.faces.event.ActionEvent</code></td>
52   * <td valign="top" nowrap>Apply Request Values</td>
53   * <td valign="top">Event delivered when the "action" of the component has been
54  invoked;  for example, by clicking on a button.  The action may result
55  in page navigation.</td>
56   * </tr>
57   * <tr class="TableRowColor">
58   * <td valign="top"><code>org.apache.myfaces.trinidad.event.ReturnEvent</code></td>
59   * <td valign="top" nowrap>Apply Request Values</td>
60   * <td valign="top">Event delivered when the dialog has completed successfully.</td>
61   * </tr>
62   * <tr class="TableRowColor">
63   * <td valign="top"><code>javax.faces.event.ValueChangeEvent</code></td>
64   * <td valign="top" nowrap>Process Validations<br>Apply Request Values</td>
65   * <td valign="top">The valueChange event is delivered when the value
66                         attribute is changed.</td>
67   * </tr>
68   * <tr class="TableRowColor">
69   * <td valign="top"><code>org.apache.myfaces.trinidad.event.AttributeChangeEvent</code></td>
70   * <td valign="top" nowrap>Invoke Application<br>Apply Request Values</td>
71   * <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>
72   * </tr>
73   * </table>
74   */
75  public class CoreInputListOfValues extends UIXSelectInput
76  {
77    static public final FacesBean.Type TYPE = new FacesBean.Type(
78      UIXSelectInput.TYPE);
79    static public final PropertyKey CONTENT_STYLE_KEY =
80      TYPE.registerKey("contentStyle", String.class);
81    static public final PropertyKey SEARCH_DESC_KEY =
82      TYPE.registerKey("searchDesc", String.class);
83    static public final PropertyKey ICON_KEY =
84      TYPE.registerKey("icon", String.class);
85    static public final PropertyKey READ_ONLY_KEY =
86      TYPE.registerKey("readOnly", Boolean.class, Boolean.FALSE);
87    static public final PropertyKey DISABLED_KEY =
88      TYPE.registerKey("disabled", Boolean.class, Boolean.FALSE);
89    static public final PropertyKey LABEL_KEY =
90      TYPE.registerKey("label", String.class);
91    static public final PropertyKey SIMPLE_KEY =
92      TYPE.registerKey("simple", Boolean.class, Boolean.FALSE);
93    static public final PropertyKey ONCHANGE_KEY =
94      TYPE.registerKey("onchange", String.class);
95    static public final PropertyKey INLINE_STYLE_KEY =
96      TYPE.registerKey("inlineStyle", String.class);
97    static public final PropertyKey STYLE_CLASS_KEY =
98      TYPE.registerKey("styleClass", String.class);
99    static public final PropertyKey SHORT_DESC_KEY =
100     TYPE.registerKey("shortDesc", String.class);
101   static public final PropertyKey PARTIAL_TRIGGERS_KEY =
102     TYPE.registerKey("partialTriggers", String[].class);
103   static public final PropertyKey ONCLICK_KEY =
104     TYPE.registerKey("onclick", String.class);
105   static public final PropertyKey ONDBLCLICK_KEY =
106     TYPE.registerKey("ondblclick", String.class);
107   static public final PropertyKey ONMOUSEDOWN_KEY =
108     TYPE.registerKey("onmousedown", String.class);
109   static public final PropertyKey ONMOUSEUP_KEY =
110     TYPE.registerKey("onmouseup", String.class);
111   static public final PropertyKey ONMOUSEOVER_KEY =
112     TYPE.registerKey("onmouseover", String.class);
113   static public final PropertyKey ONMOUSEMOVE_KEY =
114     TYPE.registerKey("onmousemove", String.class);
115   static public final PropertyKey ONMOUSEOUT_KEY =
116     TYPE.registerKey("onmouseout", String.class);
117   static public final PropertyKey ONKEYPRESS_KEY =
118     TYPE.registerKey("onkeypress", String.class);
119   static public final PropertyKey ONKEYDOWN_KEY =
120     TYPE.registerKey("onkeydown", String.class);
121   static public final PropertyKey ONKEYUP_KEY =
122     TYPE.registerKey("onkeyup", String.class);
123   static public final PropertyKey ONBLUR_KEY =
124     TYPE.registerKey("onblur", String.class);
125   static public final PropertyKey ONFOCUS_KEY =
126     TYPE.registerKey("onfocus", String.class);
127   static public final PropertyKey SHOW_REQUIRED_KEY =
128     TYPE.registerKey("showRequired", Boolean.class, Boolean.FALSE);
129   static public final PropertyKey ACCESS_KEY_KEY =
130     TYPE.registerKey("accessKey", Character.class);
131   static public final PropertyKey ONSELECT_KEY =
132     TYPE.registerKey("onselect", String.class);
133   static public final PropertyKey COLUMNS_KEY =
134     TYPE.registerKey("columns", Integer.class);
135   static public final PropertyKey MAXIMUM_LENGTH_KEY =
136     TYPE.registerKey("maximumLength", Integer.class);
137   static public final PropertyKey AUTO_SUBMIT_KEY =
138     TYPE.registerKey("autoSubmit", Boolean.class, Boolean.FALSE);
139   static public final PropertyKey WINDOW_WIDTH_KEY =
140     TYPE.registerKey("windowWidth", Integer.class);
141   static public final PropertyKey WINDOW_HEIGHT_KEY =
142     TYPE.registerKey("windowHeight", Integer.class);
143   static public final String HELP_FACET = "help";
144 
145   static public final String COMPONENT_FAMILY =
146     "org.apache.myfaces.trinidad.SelectInput";
147   static public final String COMPONENT_TYPE =
148     "org.apache.myfaces.trinidad.CoreInputListOfValues";
149 
150   /**
151    * Construct an instance of the CoreInputListOfValues.
152    */
153   public CoreInputListOfValues()
154   {
155     super("org.apache.myfaces.trinidad.Text");
156   }
157 
158   /**
159    * This facet should contain field level help.
160    */
161   final public UIComponent getHelp()
162   {
163     return getFacet(HELP_FACET);
164   }
165 
166   /**
167    * This facet should contain field level help.
168    */
169   @SuppressWarnings("unchecked")
170   final public void setHelp(UIComponent helpFacet)
171   {
172     getFacets().put(HELP_FACET, helpFacet);
173   }
174 
175   /**
176    * 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".
177    *
178    * @return  the new contentStyle value
179    */
180   final public String getContentStyle()
181   {
182     return ComponentUtils.resolveString(getProperty(CONTENT_STYLE_KEY));
183   }
184 
185   /**
186    * 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".
187    * 
188    * @param contentStyle  the new contentStyle value
189    */
190   final public void setContentStyle(String contentStyle)
191   {
192     setProperty(CONTENT_STYLE_KEY, (contentStyle));
193   }
194 
195   /**
196    * Gets the search description for the button that launches the dialog.
197    *            This text is commonly used by user agents to display tooltip
198    *            help text.
199    *
200    * @return  the new searchDesc value
201    */
202   final public String getSearchDesc()
203   {
204     return ComponentUtils.resolveString(getProperty(SEARCH_DESC_KEY));
205   }
206 
207   /**
208    * Sets the search description for the button that launches the dialog.
209    *            This text is commonly used by user agents to display tooltip
210    *            help text.
211    * 
212    * @param searchDesc  the new searchDesc value
213    */
214   final public void setSearchDesc(String searchDesc)
215   {
216     setProperty(SEARCH_DESC_KEY, (searchDesc));
217   }
218 
219   /**
220    * Gets the URI for an alternative image on the button to launch the dialog
221    *
222    * @return  the new icon value
223    */
224   final public String getIcon()
225   {
226     return ComponentUtils.resolveString(getProperty(ICON_KEY));
227   }
228 
229   /**
230    * Sets the URI for an alternative image on the button to launch the dialog
231    * 
232    * @param icon  the new icon value
233    */
234   final public void setIcon(String icon)
235   {
236     setProperty(ICON_KEY, (icon));
237   }
238 
239   /**
240    * Gets whether the element is read-only.
241    *
242    * @return  the new readOnly value
243    */
244   final public boolean isReadOnly()
245   {
246     return ComponentUtils.resolveBoolean(getProperty(READ_ONLY_KEY), false);
247   }
248 
249   /**
250    * Sets whether the element is read-only.
251    * 
252    * @param readOnly  the new readOnly value
253    */
254   final public void setReadOnly(boolean readOnly)
255   {
256     setProperty(READ_ONLY_KEY, readOnly ? Boolean.TRUE : Boolean.FALSE);
257   }
258 
259   /**
260    * Gets whether the element is disabled.
261    *
262    * @return  the new disabled value
263    */
264   final public boolean isDisabled()
265   {
266     return ComponentUtils.resolveBoolean(getProperty(DISABLED_KEY), false);
267   }
268 
269   /**
270    * Sets whether the element is disabled.
271    * 
272    * @param disabled  the new disabled value
273    */
274   final public void setDisabled(boolean disabled)
275   {
276     setProperty(DISABLED_KEY, disabled ? Boolean.TRUE : Boolean.FALSE);
277   }
278 
279   /**
280    * Gets the label of the bean.
281    *
282    * @return  the new label value
283    */
284   final public String getLabel()
285   {
286     return ComponentUtils.resolveString(getProperty(LABEL_KEY));
287   }
288 
289   /**
290    * Sets the label of the bean.
291    * 
292    * @param label  the new label value
293    */
294   final public void setLabel(String label)
295   {
296     setProperty(LABEL_KEY, (label));
297   }
298 
299   /**
300    * Gets a boolean value that controls whether the component
301    * provides label and message support;  when set to "true", the component will
302    * not display messaging support or the label (these attributes may be ignored: label,
303    * labelAndAccessKey, accessKey, showRequired,
304    * tip), and may use simpler layout primitives
305    *
306    * @return  the new simple value
307    */
308   final public boolean isSimple()
309   {
310     return ComponentUtils.resolveBoolean(getProperty(SIMPLE_KEY), false);
311   }
312 
313   /**
314    * Sets a boolean value that controls whether the component
315    * provides label and message support;  when set to "true", the component will
316    * not display messaging support or the label (these attributes may be ignored: label,
317    * labelAndAccessKey, accessKey, showRequired,
318    * tip), and may use simpler layout primitives
319    * 
320    * @param simple  the new simple value
321    */
322   final public void setSimple(boolean simple)
323   {
324     setProperty(SIMPLE_KEY, simple ? Boolean.TRUE : Boolean.FALSE);
325   }
326 
327   /**
328    * Gets event handler for when the value is changed.
329    *
330    * @return  the new onchange value
331    */
332   final public String getOnchange()
333   {
334     return ComponentUtils.resolveString(getProperty(ONCHANGE_KEY));
335   }
336 
337   /**
338    * Sets event handler for when the value is changed.
339    * 
340    * @param onchange  the new onchange value
341    */
342   final public void setOnchange(String onchange)
343   {
344     setProperty(ONCHANGE_KEY, (onchange));
345   }
346 
347   /**
348    * Gets the CSS styles to use for this component.
349    *
350    * @return  the new inlineStyle value
351    */
352   final public String getInlineStyle()
353   {
354     return ComponentUtils.resolveString(getProperty(INLINE_STYLE_KEY));
355   }
356 
357   /**
358    * Sets the CSS styles to use for this component.
359    * 
360    * @param inlineStyle  the new inlineStyle value
361    */
362   final public void setInlineStyle(String inlineStyle)
363   {
364     setProperty(INLINE_STYLE_KEY, (inlineStyle));
365   }
366 
367   /**
368    * Gets a CSS style class to use for this component.
369    *
370    * @return  the new styleClass value
371    */
372   final public String getStyleClass()
373   {
374     return ComponentUtils.resolveString(getProperty(STYLE_CLASS_KEY));
375   }
376 
377   /**
378    * Sets a CSS style class to use for this component.
379    * 
380    * @param styleClass  the new styleClass value
381    */
382   final public void setStyleClass(String styleClass)
383   {
384     setProperty(STYLE_CLASS_KEY, (styleClass));
385   }
386 
387   /**
388    * Gets The short description of the component. This text is commonly used by user agents to display tooltip help text.
389    *
390    * @return  the new shortDesc value
391    */
392   final public String getShortDesc()
393   {
394     return ComponentUtils.resolveString(getProperty(SHORT_DESC_KEY));
395   }
396 
397   /**
398    * Sets The short description of the component. This text is commonly used by user agents to display tooltip help text.
399    * 
400    * @param shortDesc  the new shortDesc value
401    */
402   final public void setShortDesc(String shortDesc)
403   {
404     setProperty(SHORT_DESC_KEY, (shortDesc));
405   }
406 
407   /**
408    * Gets the IDs of the components that should trigger a partial update.
409    *         <p>
410    *         This component will listen on the trigger components. If one of the
411    *         trigger components receives an event that will cause it to update
412    *         in some way, this component will request to be updated too.</p>
413    *         <p>
414    *         Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
415    *         </p>
416    *         <p>
417    *         Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
418    *         or use multiple colons to move up through the NamingContainer. For example,
419    *         "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
420    *         ":::" will pop out of two naming containers, etc. The search for
421    *         the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
422    *         component with id = commandButton1 after popping out of two naming containers relative to this component.
423    *         To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
424    *
425    * @return  the new partialTriggers value
426    */
427   final public String[] getPartialTriggers()
428   {
429     return (String[])getProperty(PARTIAL_TRIGGERS_KEY);
430   }
431 
432   /**
433    * Sets the IDs of the components that should trigger a partial update.
434    *         <p>
435    *         This component will listen on the trigger components. If one of the
436    *         trigger components receives an event that will cause it to update
437    *         in some way, this component will request to be updated too.</p>
438    *         <p>
439    *         Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
440    *         </p>
441    *         <p>
442    *         Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
443    *         or use multiple colons to move up through the NamingContainer. For example,
444    *         "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
445    *         ":::" will pop out of two naming containers, etc. The search for
446    *         the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
447    *         component with id = commandButton1 after popping out of two naming containers relative to this component.
448    *         To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
449    * 
450    * @param partialTriggers  the new partialTriggers value
451    */
452   final public void setPartialTriggers(String[] partialTriggers)
453   {
454     setProperty(PARTIAL_TRIGGERS_KEY, (partialTriggers));
455   }
456 
457   /**
458    * Gets an onclick Javascript handler.
459    *
460    * @return  the new onclick value
461    */
462   final public String getOnclick()
463   {
464     return ComponentUtils.resolveString(getProperty(ONCLICK_KEY));
465   }
466 
467   /**
468    * Sets an onclick Javascript handler.
469    * 
470    * @param onclick  the new onclick value
471    */
472   final public void setOnclick(String onclick)
473   {
474     setProperty(ONCLICK_KEY, (onclick));
475   }
476 
477   /**
478    * Gets an ondblclick Javascript handler.
479    *
480    * @return  the new ondblclick value
481    */
482   final public String getOndblclick()
483   {
484     return ComponentUtils.resolveString(getProperty(ONDBLCLICK_KEY));
485   }
486 
487   /**
488    * Sets an ondblclick Javascript handler.
489    * 
490    * @param ondblclick  the new ondblclick value
491    */
492   final public void setOndblclick(String ondblclick)
493   {
494     setProperty(ONDBLCLICK_KEY, (ondblclick));
495   }
496 
497   /**
498    * Gets an onmousedown Javascript handler.
499    *
500    * @return  the new onmousedown value
501    */
502   final public String getOnmousedown()
503   {
504     return ComponentUtils.resolveString(getProperty(ONMOUSEDOWN_KEY));
505   }
506 
507   /**
508    * Sets an onmousedown Javascript handler.
509    * 
510    * @param onmousedown  the new onmousedown value
511    */
512   final public void setOnmousedown(String onmousedown)
513   {
514     setProperty(ONMOUSEDOWN_KEY, (onmousedown));
515   }
516 
517   /**
518    * Gets an onmouseup Javascript handler.
519    *
520    * @return  the new onmouseup value
521    */
522   final public String getOnmouseup()
523   {
524     return ComponentUtils.resolveString(getProperty(ONMOUSEUP_KEY));
525   }
526 
527   /**
528    * Sets an onmouseup Javascript handler.
529    * 
530    * @param onmouseup  the new onmouseup value
531    */
532   final public void setOnmouseup(String onmouseup)
533   {
534     setProperty(ONMOUSEUP_KEY, (onmouseup));
535   }
536 
537   /**
538    * Gets an onmouseover Javascript handler.
539    *
540    * @return  the new onmouseover value
541    */
542   final public String getOnmouseover()
543   {
544     return ComponentUtils.resolveString(getProperty(ONMOUSEOVER_KEY));
545   }
546 
547   /**
548    * Sets an onmouseover Javascript handler.
549    * 
550    * @param onmouseover  the new onmouseover value
551    */
552   final public void setOnmouseover(String onmouseover)
553   {
554     setProperty(ONMOUSEOVER_KEY, (onmouseover));
555   }
556 
557   /**
558    * Gets an onmousemove Javascript handler.
559    *
560    * @return  the new onmousemove value
561    */
562   final public String getOnmousemove()
563   {
564     return ComponentUtils.resolveString(getProperty(ONMOUSEMOVE_KEY));
565   }
566 
567   /**
568    * Sets an onmousemove Javascript handler.
569    * 
570    * @param onmousemove  the new onmousemove value
571    */
572   final public void setOnmousemove(String onmousemove)
573   {
574     setProperty(ONMOUSEMOVE_KEY, (onmousemove));
575   }
576 
577   /**
578    * Gets an onmouseout Javascript handler.
579    *
580    * @return  the new onmouseout value
581    */
582   final public String getOnmouseout()
583   {
584     return ComponentUtils.resolveString(getProperty(ONMOUSEOUT_KEY));
585   }
586 
587   /**
588    * Sets an onmouseout Javascript handler.
589    * 
590    * @param onmouseout  the new onmouseout value
591    */
592   final public void setOnmouseout(String onmouseout)
593   {
594     setProperty(ONMOUSEOUT_KEY, (onmouseout));
595   }
596 
597   /**
598    * Gets an onkeypress Javascript handler.
599    *
600    * @return  the new onkeypress value
601    */
602   final public String getOnkeypress()
603   {
604     return ComponentUtils.resolveString(getProperty(ONKEYPRESS_KEY));
605   }
606 
607   /**
608    * Sets an onkeypress Javascript handler.
609    * 
610    * @param onkeypress  the new onkeypress value
611    */
612   final public void setOnkeypress(String onkeypress)
613   {
614     setProperty(ONKEYPRESS_KEY, (onkeypress));
615   }
616 
617   /**
618    * Gets an onkeydown Javascript handler.
619    *
620    * @return  the new onkeydown value
621    */
622   final public String getOnkeydown()
623   {
624     return ComponentUtils.resolveString(getProperty(ONKEYDOWN_KEY));
625   }
626 
627   /**
628    * Sets an onkeydown Javascript handler.
629    * 
630    * @param onkeydown  the new onkeydown value
631    */
632   final public void setOnkeydown(String onkeydown)
633   {
634     setProperty(ONKEYDOWN_KEY, (onkeydown));
635   }
636 
637   /**
638    * Gets an onkeyup Javascript handler.
639    *
640    * @return  the new onkeyup value
641    */
642   final public String getOnkeyup()
643   {
644     return ComponentUtils.resolveString(getProperty(ONKEYUP_KEY));
645   }
646 
647   /**
648    * Sets an onkeyup Javascript handler.
649    * 
650    * @param onkeyup  the new onkeyup value
651    */
652   final public void setOnkeyup(String onkeyup)
653   {
654     setProperty(ONKEYUP_KEY, (onkeyup));
655   }
656 
657   /**
658    * Gets the event handler for the component losing the focus.
659    *
660    * @return  the new onblur value
661    */
662   final public String getOnblur()
663   {
664     return ComponentUtils.resolveString(getProperty(ONBLUR_KEY));
665   }
666 
667   /**
668    * Sets the event handler for the component losing the focus.
669    * 
670    * @param onblur  the new onblur value
671    */
672   final public void setOnblur(String onblur)
673   {
674     setProperty(ONBLUR_KEY, (onblur));
675   }
676 
677   /**
678    * Gets the event handler for the component gaining the focus.
679    *
680    * @return  the new onfocus value
681    */
682   final public String getOnfocus()
683   {
684     return ComponentUtils.resolveString(getProperty(ONFOCUS_KEY));
685   }
686 
687   /**
688    * Sets the event handler for the component gaining the focus.
689    * 
690    * @param onfocus  the new onfocus value
691    */
692   final public void setOnfocus(String onfocus)
693   {
694     setProperty(ONFOCUS_KEY, (onfocus));
695   }
696 
697   /**
698    * 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
699    *           "showRequired" attribute must be false for the visual indication not to be displayed.
700    *
701    * @return  the new showRequired value
702    */
703   final public boolean isShowRequired()
704   {
705     return ComponentUtils.resolveBoolean(getProperty(SHOW_REQUIRED_KEY), false);
706   }
707 
708   /**
709    * 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
710    *           "showRequired" attribute must be false for the visual indication not to be displayed.
711    * 
712    * @param showRequired  the new showRequired value
713    */
714   final public void setShowRequired(boolean showRequired)
715   {
716     setProperty(SHOW_REQUIRED_KEY, showRequired ? Boolean.TRUE : Boolean.FALSE);
717   }
718 
719   /**
720    * Gets <html>
721    *  Character used to gain quick access to
722    *                the form element specified by the
723    *          <code>for</code>, if set (or this component itself,
724    *               if it is a "non-simple" form element).
725    *               For accessibility reasons, this functionality is not supported
726    *               in screen reader mode.
727    *               If the same access key appears in multiple locations in the
728    *               same page of output, the rendering user agent will cycle
729    *               among the elements accessed by the similar keys.
730    *               <p>
731    *                 This attribute is sometimes referred to as the "mnemonic".
732    *                 </p></html>
733    *
734    * @return  the new accessKey value
735    */
736   final public char getAccessKey()
737   {
738     return ComponentUtils.resolveCharacter((Character)getProperty(ACCESS_KEY_KEY));
739   }
740 
741   /**
742    * Sets <html>
743    *  Character used to gain quick access to
744    *                the form element specified by the
745    *          <code>for</code>, if set (or this component itself,
746    *               if it is a "non-simple" form element).
747    *               For accessibility reasons, this functionality is not supported
748    *               in screen reader mode.
749    *               If the same access key appears in multiple locations in the
750    *               same page of output, the rendering user agent will cycle
751    *               among the elements accessed by the similar keys.
752    *               <p>
753    *                 This attribute is sometimes referred to as the "mnemonic".
754    *                 </p></html>
755    * 
756    * @param accessKey  the new accessKey value
757    */
758   final public void setAccessKey(char accessKey)
759   {
760     setProperty(ACCESS_KEY_KEY, Character.valueOf(accessKey));
761   }
762 
763   /**
764    * Gets event handler for when text becomes selected.
765    *
766    * @return  the new onselect value
767    */
768   final public String getOnselect()
769   {
770     return ComponentUtils.resolveString(getProperty(ONSELECT_KEY));
771   }
772 
773   /**
774    * Sets event handler for when text becomes selected.
775    * 
776    * @param onselect  the new onselect value
777    */
778   final public void setOnselect(String onselect)
779   {
780     setProperty(ONSELECT_KEY, (onselect));
781   }
782 
783   /**
784    * Gets the number of columns to display in the text
785    *           control. If no value is specified, a default
786    *           of 30 columns is used. One column is approximately one character
787    *           in the browser's current display font.
788    *
789    * @return  the new columns value
790    */
791   final public int getColumns()
792   {
793     return ComponentUtils.resolveInteger(getProperty(COLUMNS_KEY));
794   }
795 
796   /**
797    * Sets the number of columns to display in the text
798    *           control. If no value is specified, a default
799    *           of 30 columns is used. One column is approximately one character
800    *           in the browser's current display font.
801    * 
802    * @param columns  the new columns value
803    */
804   final public void setColumns(int columns)
805   {
806     setProperty(COLUMNS_KEY, Integer.valueOf(columns));
807   }
808 
809   /**
810    * Gets the maximum number of characters that
811    *           can be entered into the text control. Note that
812    *           this value is independent of the "cols" displayed.
813    *
814    * @return  the new maximumLength value
815    */
816   final public int getMaximumLength()
817   {
818     return ComponentUtils.resolveInteger(getProperty(MAXIMUM_LENGTH_KEY));
819   }
820 
821   /**
822    * Sets the maximum number of characters that
823    *           can be entered into the text control. Note that
824    *           this value is independent of the "cols" displayed.
825    * 
826    * @param maximumLength  the new maximumLength value
827    */
828   final public void setMaximumLength(int maximumLength)
829   {
830     setProperty(MAXIMUM_LENGTH_KEY, Integer.valueOf(maximumLength));
831   }
832 
833   /**
834    * Gets If set to TRUE on a form element, the component will automatically submit
835    *      the enclosing form when an appropriate action takes place (a click, text
836    *      change, etc.).
837    *
838    * @return  the new autoSubmit value
839    */
840   final public boolean isAutoSubmit()
841   {
842     return ComponentUtils.resolveBoolean(getProperty(AUTO_SUBMIT_KEY), false);
843   }
844 
845   /**
846    * Sets If set to TRUE on a form element, the component will automatically submit
847    *      the enclosing form when an appropriate action takes place (a click, text
848    *      change, etc.).
849    * 
850    * @param autoSubmit  the new autoSubmit value
851    */
852   final public void setAutoSubmit(boolean autoSubmit)
853   {
854     setProperty(AUTO_SUBMIT_KEY, autoSubmit ? Boolean.TRUE : Boolean.FALSE);
855   }
856 
857   /**
858    * Gets width of the window, if this command is
859    * used to launch a window.
860    *
861    * @return  the new windowWidth value
862    */
863   final public int getWindowWidth()
864   {
865     return ComponentUtils.resolveInteger(getProperty(WINDOW_WIDTH_KEY));
866   }
867 
868   /**
869    * Sets width of the window, if this command is
870    * used to launch a window.
871    * 
872    * @param windowWidth  the new windowWidth value
873    */
874   final public void setWindowWidth(int windowWidth)
875   {
876     setProperty(WINDOW_WIDTH_KEY, Integer.valueOf(windowWidth));
877   }
878 
879   /**
880    * Gets height of the window, if this command is
881    * used to launch a window.
882    *
883    * @return  the new windowHeight value
884    */
885   final public int getWindowHeight()
886   {
887     return ComponentUtils.resolveInteger(getProperty(WINDOW_HEIGHT_KEY));
888   }
889 
890   /**
891    * Sets height of the window, if this command is
892    * used to launch a window.
893    * 
894    * @param windowHeight  the new windowHeight value
895    */
896   final public void setWindowHeight(int windowHeight)
897   {
898     setProperty(WINDOW_HEIGHT_KEY, Integer.valueOf(windowHeight));
899   }
900 
901   @Override
902   public String getFamily()
903   {
904     return COMPONENT_FAMILY;
905   }
906 
907   @Override
908   protected FacesBean.Type getBeanType()
909   {
910     return TYPE;
911   }
912 
913   /**
914    * Construct an instance of the CoreInputListOfValues.
915    */
916   protected CoreInputListOfValues(
917     String rendererType
918     )
919   {
920     super(rendererType);
921   }
922 
923   static
924   {
925     TYPE.lockAndRegister("org.apache.myfaces.trinidad.SelectInput","org.apache.myfaces.trinidad.Text");
926   }
927 }