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 }