View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package javax.faces.component.html;
20  
21  import javax.faces.component.UISelectOne;
22  
23  import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
24  
25  /**
26   * Allow the user to choose one option from a set of options.
27   * <p>
28   * Rendered as a listbox with the MULTIPLE attribute set to false.
29   * </p>
30   * <p>
31   * The available choices are defined via child f:selectItem or
32   * f:selectItems elements. The size of the listbox defaults to the
33   * number of available choices; if size is explicitly set to a
34   * smaller value, then scrollbars will be rendered. If size is set
35   * to 1 then a "drop-down menu" (aka "combo-box") is rendered, though
36   * if this is the intent then selectOneMenu should be used instead.
37   * </p>
38   * <p>
39   * The value attribute of this component is read to determine
40   * which of the available options is initially selected; its value
41   * should match the "value" property of one of the child SelectItem
42   * objects.
43   * </p>
44   * <p>
45   * On submit of the enclosing form, the value attribute's bound
46   * property is updated to contain the "value" property from the
47   * chosen SelectItem.
48   * </p>
49   *
50   */
51  @JSFComponent
52  (name = "h:selectOneListbox",
53  clazz = "javax.faces.component.html.HtmlSelectOneListbox",template=true,
54  tagClass = "org.apache.myfaces.taglib.html.HtmlSelectOneListboxTag",
55  defaultRendererType = "javax.faces.Listbox"
56  )
57  abstract class _HtmlSelectOneListbox extends UISelectOne implements
58  _AccesskeyProperty, _UniversalProperties, _DisabledReadonlyProperties,
59  _FocusBlurProperties, _ChangeSelectProperties, _EventProperties,
60  _StyleProperties, _TabindexProperty, _DisabledClassEnabledClassProperties,
61  _LabelProperty
62  {
63  
64    static public final String COMPONENT_FAMILY =
65      "javax.faces.SelectOne";
66    static public final String COMPONENT_TYPE =
67      "javax.faces.HtmlSelectOneListbox";
68  
69    /**
70     * see JSF Spec.
71     * 
72     * @JSFProperty
73     *   defaultValue="Integer.MIN_VALUE"
74     */
75    public abstract int getSize();
76  
77  }