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.UISelectMany; 22 23 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent; 24 25 /** 26 * Allow the user to select zero or more items from a set of available 27 * options. This is presented as a drop-down "combo-box" which allows 28 * multiple rows in the list to be selected simultaneously. 29 * <p> 30 * The set of available options is defined by adding child 31 * f:selectItem or f:selectItems components to this component. 32 * </p> 33 * <p> 34 * Renders as an HTML select element, with the choices made up of 35 * child f:selectItem or f:selectItems elements. The multiple 36 * attribute is set and the size attribute is set to 1. 37 * </p> 38 * <p> 39 * The value attribute must be a value-binding expression to a 40 * property of type List, Object array or primitive array. That 41 * "collection" is expected to contain objects of the same type as 42 * SelectItem.getValue() returns for the child SelectItem objects. 43 * On rendering, any child whose value is in the list will be 44 * selected initially. During the update phase, the property is set 45 * to contain a "collection" of values for those child SelectItem 46 * objects that are currently selected. 47 * </p> 48 * 49 */ 50 @JSFComponent 51 (name = "h:selectManyMenu", 52 clazz = "javax.faces.component.html.HtmlSelectManyMenu",template=true, 53 tagClass = "org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag", 54 defaultRendererType = "javax.faces.Menu" 55 ) 56 abstract class _HtmlSelectManyMenu extends UISelectMany implements 57 _AccesskeyProperty, _UniversalProperties, _DisabledReadonlyProperties, 58 _FocusBlurProperties, _ChangeSelectProperties, _EventProperties, 59 _StyleProperties, _TabindexProperty, _DisabledClassEnabledClassProperties, 60 _LabelProperty 61 { 62 63 static public final String COMPONENT_FAMILY = 64 "javax.faces.SelectMany"; 65 static public final String COMPONENT_TYPE = 66 "javax.faces.HtmlSelectManyMenu"; 67 68 }