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.UIXSelectOrder;
28  import org.apache.myfaces.trinidad.util.ComponentUtils;
29  
30  /**
31   *
32   * The selectOrderShuttle component provides a mechanism for selecting
33   *    multiple values from a list of values by allowing the user to move
34   *    items between two lists, and reordering that list of values.
35   *           It includes all the functionality
36   *           of selectManyShuttle, and has an equivalent API.  The only
37   *           functional difference is that selectOrderShuttle will present the
38   *           user with the ability to reorder the list of selected values,
39   *           and will deliver <html:code>ValueChangeEvents</html:code> when
40   *           the order changes. (selectMany components do not consider
41   *           changes in order relevant to the value of that component.)  See
42   *           the documentation for selectManyShuttle for further information
43   *           on using the shuttle.
44   *
45   * <h4>Events:</h4>
46   * <table border="1" width="100%" cellpadding="3" summary="">
47   * <tr bgcolor="#CCCCFF" class="TableHeadingColor">
48   * <th align="left">Type</th>
49   * <th align="left">Phases</th>
50   * <th align="left">Description</th>
51   * </tr>
52   * <tr class="TableRowColor">
53   * <td valign="top"><code>javax.faces.event.ValueChangeEvent</code></td>
54   * <td valign="top" nowrap>Process Validations<br>Apply Request Values</td>
55   * <td valign="top">The valueChange event is delivered when the value
56                         attribute is changed.</td>
57   * </tr>
58   * <tr class="TableRowColor">
59   * <td valign="top"><code>org.apache.myfaces.trinidad.event.AttributeChangeEvent</code></td>
60   * <td valign="top" nowrap>Invoke Application<br>Apply Request Values</td>
61   * <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>
62   * </tr>
63   * </table>
64   */
65  public class CoreSelectOrderShuttle extends UIXSelectOrder
66  {
67    static public final FacesBean.Type TYPE = new FacesBean.Type(
68      UIXSelectOrder.TYPE);
69    static public final PropertyKey REORDER_ONLY_KEY =
70      TYPE.registerKey("reorderOnly", Boolean.class, Boolean.FALSE);
71    static public final PropertyKey VALUE_PASS_THRU_KEY =
72      TYPE.registerKey("valuePassThru", Boolean.class, Boolean.FALSE);
73    static public final PropertyKey READ_ONLY_KEY =
74      TYPE.registerKey("readOnly", Boolean.class, Boolean.FALSE);
75    static public final PropertyKey DISABLED_KEY =
76      TYPE.registerKey("disabled", Boolean.class, Boolean.FALSE);
77    static public final PropertyKey ONCHANGE_KEY =
78      TYPE.registerKey("onchange", String.class);
79    static public final PropertyKey INLINE_STYLE_KEY =
80      TYPE.registerKey("inlineStyle", String.class);
81    static public final PropertyKey STYLE_CLASS_KEY =
82      TYPE.registerKey("styleClass", String.class);
83    static public final PropertyKey SHORT_DESC_KEY =
84      TYPE.registerKey("shortDesc", String.class);
85    static public final PropertyKey PARTIAL_TRIGGERS_KEY =
86      TYPE.registerKey("partialTriggers", String[].class);
87    static public final PropertyKey ONCLICK_KEY =
88      TYPE.registerKey("onclick", String.class);
89    static public final PropertyKey ONDBLCLICK_KEY =
90      TYPE.registerKey("ondblclick", String.class);
91    static public final PropertyKey ONMOUSEDOWN_KEY =
92      TYPE.registerKey("onmousedown", String.class);
93    static public final PropertyKey ONMOUSEUP_KEY =
94      TYPE.registerKey("onmouseup", String.class);
95    static public final PropertyKey ONMOUSEOVER_KEY =
96      TYPE.registerKey("onmouseover", String.class);
97    static public final PropertyKey ONMOUSEMOVE_KEY =
98      TYPE.registerKey("onmousemove", String.class);
99    static public final PropertyKey ONMOUSEOUT_KEY =
100     TYPE.registerKey("onmouseout", String.class);
101   static public final PropertyKey ONKEYPRESS_KEY =
102     TYPE.registerKey("onkeypress", String.class);
103   static public final PropertyKey ONKEYDOWN_KEY =
104     TYPE.registerKey("onkeydown", String.class);
105   static public final PropertyKey ONKEYUP_KEY =
106     TYPE.registerKey("onkeyup", String.class);
107   static public final PropertyKey ONBLUR_KEY =
108     TYPE.registerKey("onblur", String.class);
109   static public final PropertyKey ONFOCUS_KEY =
110     TYPE.registerKey("onfocus", String.class);
111   static public final PropertyKey SIZE_KEY =
112     TYPE.registerKey("size", Integer.class);
113   static public final PropertyKey LEADING_HEADER_KEY =
114     TYPE.registerKey("leadingHeader", String.class);
115   static public final PropertyKey TRAILING_HEADER_KEY =
116     TYPE.registerKey("trailingHeader", String.class);
117   static public final PropertyKey LEADING_DESC_SHOWN_KEY =
118     TYPE.registerKey("leadingDescShown", Boolean.class, Boolean.FALSE);
119   static public final PropertyKey TRAILING_DESC_SHOWN_KEY =
120     TYPE.registerKey("trailingDescShown", Boolean.class, Boolean.FALSE);
121   static public final PropertyKey LABEL_KEY =
122     TYPE.registerKey("label", String.class);
123   static public final String FILTER_FACET = "filter";
124   static public final String LEADING_FOOTER_FACET = "leadingFooter";
125   static public final String TRAILING_FOOTER_FACET = "trailingFooter";
126 
127   static public final String COMPONENT_FAMILY =
128     "org.apache.myfaces.trinidad.SelectOrder";
129   static public final String COMPONENT_TYPE =
130     "org.apache.myfaces.trinidad.CoreSelectOrderShuttle";
131 
132   /**
133    * Construct an instance of the CoreSelectOrderShuttle.
134    */
135   public CoreSelectOrderShuttle()
136   {
137     super("org.apache.myfaces.trinidad.Shuttle");
138   }
139 
140   /**
141    * the filter above the leading list.
142    */
143   final public UIComponent getFilter()
144   {
145     return getFacet(FILTER_FACET);
146   }
147 
148   /**
149    * the filter above the leading list.
150    */
151   @SuppressWarnings("unchecked")
152   final public void setFilter(UIComponent filterFacet)
153   {
154     getFacets().put(FILTER_FACET, filterFacet);
155   }
156 
157   /**
158    * the footer of buttons/images under the leading list.
159    */
160   final public UIComponent getLeadingFooter()
161   {
162     return getFacet(LEADING_FOOTER_FACET);
163   }
164 
165   /**
166    * the footer of buttons/images under the leading list.
167    */
168   @SuppressWarnings("unchecked")
169   final public void setLeadingFooter(UIComponent leadingFooterFacet)
170   {
171     getFacets().put(LEADING_FOOTER_FACET, leadingFooterFacet);
172   }
173 
174   /**
175    * the footer of buttons/images under the trailing list.
176    */
177   final public UIComponent getTrailingFooter()
178   {
179     return getFacet(TRAILING_FOOTER_FACET);
180   }
181 
182   /**
183    * the footer of buttons/images under the trailing list.
184    */
185   @SuppressWarnings("unchecked")
186   final public void setTrailingFooter(UIComponent trailingFooterFacet)
187   {
188     getFacets().put(TRAILING_FOOTER_FACET, trailingFooterFacet);
189   }
190 
191   /**
192    * Gets whether the shuttle is in "reorder only" mode, where the user can reorder the list of values, but cannot add or remove them.
193    *
194    * @return  the new reorderOnly value
195    */
196   final public boolean isReorderOnly()
197   {
198     return ComponentUtils.resolveBoolean(getProperty(REORDER_ONLY_KEY), false);
199   }
200 
201   /**
202    * Sets whether the shuttle is in "reorder only" mode, where the user can reorder the list of values, but cannot add or remove them.
203    * 
204    * @param reorderOnly  the new reorderOnly value
205    */
206   final public void setReorderOnly(boolean reorderOnly)
207   {
208     setProperty(REORDER_ONLY_KEY, reorderOnly ? Boolean.TRUE : Boolean.FALSE);
209   }
210 
211   /**
212    * Gets whether or not the values are passed through to
213    *         the client. When valuePassThru is false
214    *         the value and the options' values
215    *         are converted to indexes before being sent to the client.
216    *         Therefore, when valuePassThru is false,
217    *         there is no need to write your own converter when you are using custom Objects
218    *         as your values and/or options.
219    *         If you need to know the actual values on the client-side, then you can set
220    *         valuePassThru to true. This will pass the values through to the client,
221    *         using your custom converter if it is available; a custom converter is
222    *         needed if you are using custom objects. The default is false.
223    *
224    * @return  the new valuePassThru value
225    */
226   final public boolean isValuePassThru()
227   {
228     return ComponentUtils.resolveBoolean(getProperty(VALUE_PASS_THRU_KEY), false);
229   }
230 
231   /**
232    * Sets whether or not the values are passed through to
233    *         the client. When valuePassThru is false
234    *         the value and the options' values
235    *         are converted to indexes before being sent to the client.
236    *         Therefore, when valuePassThru is false,
237    *         there is no need to write your own converter when you are using custom Objects
238    *         as your values and/or options.
239    *         If you need to know the actual values on the client-side, then you can set
240    *         valuePassThru to true. This will pass the values through to the client,
241    *         using your custom converter if it is available; a custom converter is
242    *         needed if you are using custom objects. The default is false.
243    * 
244    * @param valuePassThru  the new valuePassThru value
245    */
246   final public void setValuePassThru(boolean valuePassThru)
247   {
248     setProperty(VALUE_PASS_THRU_KEY, valuePassThru ? Boolean.TRUE : Boolean.FALSE);
249   }
250 
251   /**
252    * Gets whether the element is read-only.
253    *
254    * @return  the new readOnly value
255    */
256   final public boolean isReadOnly()
257   {
258     return ComponentUtils.resolveBoolean(getProperty(READ_ONLY_KEY), false);
259   }
260 
261   /**
262    * Sets whether the element is read-only.
263    * 
264    * @param readOnly  the new readOnly value
265    */
266   final public void setReadOnly(boolean readOnly)
267   {
268     setProperty(READ_ONLY_KEY, readOnly ? Boolean.TRUE : Boolean.FALSE);
269   }
270 
271   /**
272    * Gets whether the element is disabled.
273    *
274    * @return  the new disabled value
275    */
276   final public boolean isDisabled()
277   {
278     return ComponentUtils.resolveBoolean(getProperty(DISABLED_KEY), false);
279   }
280 
281   /**
282    * Sets whether the element is disabled.
283    * 
284    * @param disabled  the new disabled value
285    */
286   final public void setDisabled(boolean disabled)
287   {
288     setProperty(DISABLED_KEY, disabled ? Boolean.TRUE : Boolean.FALSE);
289   }
290 
291   /**
292    * Gets event handler for when the value is changed.
293    *
294    * @return  the new onchange value
295    */
296   final public String getOnchange()
297   {
298     return ComponentUtils.resolveString(getProperty(ONCHANGE_KEY));
299   }
300 
301   /**
302    * Sets event handler for when the value is changed.
303    * 
304    * @param onchange  the new onchange value
305    */
306   final public void setOnchange(String onchange)
307   {
308     setProperty(ONCHANGE_KEY, (onchange));
309   }
310 
311   /**
312    * Gets the CSS styles to use for this component.
313    *
314    * @return  the new inlineStyle value
315    */
316   final public String getInlineStyle()
317   {
318     return ComponentUtils.resolveString(getProperty(INLINE_STYLE_KEY));
319   }
320 
321   /**
322    * Sets the CSS styles to use for this component.
323    * 
324    * @param inlineStyle  the new inlineStyle value
325    */
326   final public void setInlineStyle(String inlineStyle)
327   {
328     setProperty(INLINE_STYLE_KEY, (inlineStyle));
329   }
330 
331   /**
332    * Gets a CSS style class to use for this component.
333    *
334    * @return  the new styleClass value
335    */
336   final public String getStyleClass()
337   {
338     return ComponentUtils.resolveString(getProperty(STYLE_CLASS_KEY));
339   }
340 
341   /**
342    * Sets a CSS style class to use for this component.
343    * 
344    * @param styleClass  the new styleClass value
345    */
346   final public void setStyleClass(String styleClass)
347   {
348     setProperty(STYLE_CLASS_KEY, (styleClass));
349   }
350 
351   /**
352    * Gets The short description of the component. This text is commonly used by user agents to display tooltip help text.
353    *
354    * @return  the new shortDesc value
355    */
356   final public String getShortDesc()
357   {
358     return ComponentUtils.resolveString(getProperty(SHORT_DESC_KEY));
359   }
360 
361   /**
362    * Sets The short description of the component. This text is commonly used by user agents to display tooltip help text.
363    * 
364    * @param shortDesc  the new shortDesc value
365    */
366   final public void setShortDesc(String shortDesc)
367   {
368     setProperty(SHORT_DESC_KEY, (shortDesc));
369   }
370 
371   /**
372    * Gets the IDs of the components that should trigger a partial update.
373    *         <p>
374    *         This component will listen on the trigger components. If one of the
375    *         trigger components receives an event that will cause it to update
376    *         in some way, this component will request to be updated too.</p>
377    *         <p>
378    *         Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
379    *         </p>
380    *         <p>
381    *         Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
382    *         or use multiple colons to move up through the NamingContainer. For example,
383    *         "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
384    *         ":::" will pop out of two naming containers, etc. The search for
385    *         the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
386    *         component with id = commandButton1 after popping out of two naming containers relative to this component.
387    *         To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
388    *
389    * @return  the new partialTriggers value
390    */
391   final public String[] getPartialTriggers()
392   {
393     return (String[])getProperty(PARTIAL_TRIGGERS_KEY);
394   }
395 
396   /**
397    * Sets the IDs of the components that should trigger a partial update.
398    *         <p>
399    *         This component will listen on the trigger components. If one of the
400    *         trigger components receives an event that will cause it to update
401    *         in some way, this component will request to be updated too.</p>
402    *         <p>
403    *         Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
404    *         </p>
405    *         <p>
406    *         Identifiers must account for NamingContainers.  You can use a single colon to start the search from the root,
407    *         or use multiple colons to move up through the NamingContainer. For example,
408    *         "::" will pop out of this component's naming container (it pops out of itself if it is a naming container), 
409    *         ":::" will pop out of two naming containers, etc. The search for
410    *         the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the 
411    *         component with id = commandButton1 after popping out of two naming containers relative to this component.
412    *         To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
413    * 
414    * @param partialTriggers  the new partialTriggers value
415    */
416   final public void setPartialTriggers(String[] partialTriggers)
417   {
418     setProperty(PARTIAL_TRIGGERS_KEY, (partialTriggers));
419   }
420 
421   /**
422    * Gets an onclick Javascript handler.
423    *
424    * @return  the new onclick value
425    */
426   final public String getOnclick()
427   {
428     return ComponentUtils.resolveString(getProperty(ONCLICK_KEY));
429   }
430 
431   /**
432    * Sets an onclick Javascript handler.
433    * 
434    * @param onclick  the new onclick value
435    */
436   final public void setOnclick(String onclick)
437   {
438     setProperty(ONCLICK_KEY, (onclick));
439   }
440 
441   /**
442    * Gets an ondblclick Javascript handler.
443    *
444    * @return  the new ondblclick value
445    */
446   final public String getOndblclick()
447   {
448     return ComponentUtils.resolveString(getProperty(ONDBLCLICK_KEY));
449   }
450 
451   /**
452    * Sets an ondblclick Javascript handler.
453    * 
454    * @param ondblclick  the new ondblclick value
455    */
456   final public void setOndblclick(String ondblclick)
457   {
458     setProperty(ONDBLCLICK_KEY, (ondblclick));
459   }
460 
461   /**
462    * Gets an onmousedown Javascript handler.
463    *
464    * @return  the new onmousedown value
465    */
466   final public String getOnmousedown()
467   {
468     return ComponentUtils.resolveString(getProperty(ONMOUSEDOWN_KEY));
469   }
470 
471   /**
472    * Sets an onmousedown Javascript handler.
473    * 
474    * @param onmousedown  the new onmousedown value
475    */
476   final public void setOnmousedown(String onmousedown)
477   {
478     setProperty(ONMOUSEDOWN_KEY, (onmousedown));
479   }
480 
481   /**
482    * Gets an onmouseup Javascript handler.
483    *
484    * @return  the new onmouseup value
485    */
486   final public String getOnmouseup()
487   {
488     return ComponentUtils.resolveString(getProperty(ONMOUSEUP_KEY));
489   }
490 
491   /**
492    * Sets an onmouseup Javascript handler.
493    * 
494    * @param onmouseup  the new onmouseup value
495    */
496   final public void setOnmouseup(String onmouseup)
497   {
498     setProperty(ONMOUSEUP_KEY, (onmouseup));
499   }
500 
501   /**
502    * Gets an onmouseover Javascript handler.
503    *
504    * @return  the new onmouseover value
505    */
506   final public String getOnmouseover()
507   {
508     return ComponentUtils.resolveString(getProperty(ONMOUSEOVER_KEY));
509   }
510 
511   /**
512    * Sets an onmouseover Javascript handler.
513    * 
514    * @param onmouseover  the new onmouseover value
515    */
516   final public void setOnmouseover(String onmouseover)
517   {
518     setProperty(ONMOUSEOVER_KEY, (onmouseover));
519   }
520 
521   /**
522    * Gets an onmousemove Javascript handler.
523    *
524    * @return  the new onmousemove value
525    */
526   final public String getOnmousemove()
527   {
528     return ComponentUtils.resolveString(getProperty(ONMOUSEMOVE_KEY));
529   }
530 
531   /**
532    * Sets an onmousemove Javascript handler.
533    * 
534    * @param onmousemove  the new onmousemove value
535    */
536   final public void setOnmousemove(String onmousemove)
537   {
538     setProperty(ONMOUSEMOVE_KEY, (onmousemove));
539   }
540 
541   /**
542    * Gets an onmouseout Javascript handler.
543    *
544    * @return  the new onmouseout value
545    */
546   final public String getOnmouseout()
547   {
548     return ComponentUtils.resolveString(getProperty(ONMOUSEOUT_KEY));
549   }
550 
551   /**
552    * Sets an onmouseout Javascript handler.
553    * 
554    * @param onmouseout  the new onmouseout value
555    */
556   final public void setOnmouseout(String onmouseout)
557   {
558     setProperty(ONMOUSEOUT_KEY, (onmouseout));
559   }
560 
561   /**
562    * Gets an onkeypress Javascript handler.
563    *
564    * @return  the new onkeypress value
565    */
566   final public String getOnkeypress()
567   {
568     return ComponentUtils.resolveString(getProperty(ONKEYPRESS_KEY));
569   }
570 
571   /**
572    * Sets an onkeypress Javascript handler.
573    * 
574    * @param onkeypress  the new onkeypress value
575    */
576   final public void setOnkeypress(String onkeypress)
577   {
578     setProperty(ONKEYPRESS_KEY, (onkeypress));
579   }
580 
581   /**
582    * Gets an onkeydown Javascript handler.
583    *
584    * @return  the new onkeydown value
585    */
586   final public String getOnkeydown()
587   {
588     return ComponentUtils.resolveString(getProperty(ONKEYDOWN_KEY));
589   }
590 
591   /**
592    * Sets an onkeydown Javascript handler.
593    * 
594    * @param onkeydown  the new onkeydown value
595    */
596   final public void setOnkeydown(String onkeydown)
597   {
598     setProperty(ONKEYDOWN_KEY, (onkeydown));
599   }
600 
601   /**
602    * Gets an onkeyup Javascript handler.
603    *
604    * @return  the new onkeyup value
605    */
606   final public String getOnkeyup()
607   {
608     return ComponentUtils.resolveString(getProperty(ONKEYUP_KEY));
609   }
610 
611   /**
612    * Sets an onkeyup Javascript handler.
613    * 
614    * @param onkeyup  the new onkeyup value
615    */
616   final public void setOnkeyup(String onkeyup)
617   {
618     setProperty(ONKEYUP_KEY, (onkeyup));
619   }
620 
621   /**
622    * Gets the event handler for the component losing the focus.
623    *
624    * @return  the new onblur value
625    */
626   final public String getOnblur()
627   {
628     return ComponentUtils.resolveString(getProperty(ONBLUR_KEY));
629   }
630 
631   /**
632    * Sets the event handler for the component losing the focus.
633    * 
634    * @param onblur  the new onblur value
635    */
636   final public void setOnblur(String onblur)
637   {
638     setProperty(ONBLUR_KEY, (onblur));
639   }
640 
641   /**
642    * Gets the event handler for the component gaining the focus.
643    *
644    * @return  the new onfocus value
645    */
646   final public String getOnfocus()
647   {
648     return ComponentUtils.resolveString(getProperty(ONFOCUS_KEY));
649   }
650 
651   /**
652    * Sets the event handler for the component gaining the focus.
653    * 
654    * @param onfocus  the new onfocus value
655    */
656   final public void setOnfocus(String onfocus)
657   {
658     setProperty(ONFOCUS_KEY, (onfocus));
659   }
660 
661   /**
662    * Gets the display size(number of items) of the lists. The size
663    *               specified must be between 10 and 20 items. If the attribute is not
664    *               set or has a value less than 10, the size would have a default or
665    *               minimum value of 10. If the attribute value specified is more than
666    *               20 items, the size would have the maximum value of 20.
667    *
668    * @return  the new size value
669    */
670   final public int getSize()
671   {
672     return ComponentUtils.resolveInteger(getProperty(SIZE_KEY));
673   }
674 
675   /**
676    * Sets the display size(number of items) of the lists. The size
677    *               specified must be between 10 and 20 items. If the attribute is not
678    *               set or has a value less than 10, the size would have a default or
679    *               minimum value of 10. If the attribute value specified is more than
680    *               20 items, the size would have the maximum value of 20.
681    * 
682    * @param size  the new size value
683    */
684   final public void setSize(int size)
685   {
686     setProperty(SIZE_KEY, Integer.valueOf(size));
687   }
688 
689   /**
690    * Gets the header of the leading list of the shuttle.
691    *
692    * @return  the new leadingHeader value
693    */
694   final public String getLeadingHeader()
695   {
696     return ComponentUtils.resolveString(getProperty(LEADING_HEADER_KEY));
697   }
698 
699   /**
700    * Sets the header of the leading list of the shuttle.
701    * 
702    * @param leadingHeader  the new leadingHeader value
703    */
704   final public void setLeadingHeader(String leadingHeader)
705   {
706     setProperty(LEADING_HEADER_KEY, (leadingHeader));
707   }
708 
709   /**
710    * Gets the header of the trailing list of the shuttle.
711    *
712    * @return  the new trailingHeader value
713    */
714   final public String getTrailingHeader()
715   {
716     return ComponentUtils.resolveString(getProperty(TRAILING_HEADER_KEY));
717   }
718 
719   /**
720    * Sets the header of the trailing list of the shuttle.
721    * 
722    * @param trailingHeader  the new trailingHeader value
723    */
724   final public void setTrailingHeader(String trailingHeader)
725   {
726     setProperty(TRAILING_HEADER_KEY, (trailingHeader));
727   }
728 
729   /**
730    * Gets whether or not the leading list has an area to display descriptions.
731    *
732    * @return  the new leadingDescShown value
733    */
734   final public boolean isLeadingDescShown()
735   {
736     return ComponentUtils.resolveBoolean(getProperty(LEADING_DESC_SHOWN_KEY), false);
737   }
738 
739   /**
740    * Sets whether or not the leading list has an area to display descriptions.
741    * 
742    * @param leadingDescShown  the new leadingDescShown value
743    */
744   final public void setLeadingDescShown(boolean leadingDescShown)
745   {
746     setProperty(LEADING_DESC_SHOWN_KEY, leadingDescShown ? Boolean.TRUE : Boolean.FALSE);
747   }
748 
749   /**
750    * Gets whether or not the trailing list has an area to display descriptions.
751    *
752    * @return  the new trailingDescShown value
753    */
754   final public boolean isTrailingDescShown()
755   {
756     return ComponentUtils.resolveBoolean(getProperty(TRAILING_DESC_SHOWN_KEY), false);
757   }
758 
759   /**
760    * Sets whether or not the trailing list has an area to display descriptions.
761    * 
762    * @param trailingDescShown  the new trailingDescShown value
763    */
764   final public void setTrailingDescShown(boolean trailingDescShown)
765   {
766     setProperty(TRAILING_DESC_SHOWN_KEY, trailingDescShown ? Boolean.TRUE : Boolean.FALSE);
767   }
768 
769   /**
770    * Gets the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.
771    *
772    * @return  the new label value
773    */
774   final public String getLabel()
775   {
776     return ComponentUtils.resolveString(getProperty(LABEL_KEY));
777   }
778 
779   /**
780    * Sets the label for the shuttle that is used to identify the component only when displaying error messages. The label specified does not otherwise appear on the page.
781    * 
782    * @param label  the new label value
783    */
784   final public void setLabel(String label)
785   {
786     setProperty(LABEL_KEY, (label));
787   }
788 
789   @Override
790   public String getFamily()
791   {
792     return COMPONENT_FAMILY;
793   }
794 
795   @Override
796   protected FacesBean.Type getBeanType()
797   {
798     return TYPE;
799   }
800 
801   /**
802    * Construct an instance of the CoreSelectOrderShuttle.
803    */
804   protected CoreSelectOrderShuttle(
805     String rendererType
806     )
807   {
808     super(rendererType);
809   }
810 
811   static
812   {
813     TYPE.lockAndRegister("org.apache.myfaces.trinidad.SelectOrder","org.apache.myfaces.trinidad.Shuttle");
814   }
815 }