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 options. 27 * <p> 28 * This is presented as a table with one cell per available option; each cell contains a 29 * checkbox and the option's label. The "layout" attribute determines whether the checkboxes 30 * are laid out horizontally or vertically. 31 * </p> 32 * <p> 33 * The set of available options is defined by adding child 34 * f:selectItem or f:selectItems components to this component. 35 * </p> 36 * <p> 37 * The value attribute must be a value-binding expression to a 38 * property of type List, Object array or primitive array. That 39 * "collection" is expected to contain objects of the same type as 40 * SelectItem.getValue() returns for the child SelectItem objects. 41 * On rendering, any child whose value is in the list will be 42 * selected initially. During the update phase, the property setter 43 * is called to replace the original collection with a completely 44 * new collection object of the appropriate type. The new collection 45 * object contains the value of each child SelectItem object that 46 * is currently selected. 47 * </p> 48 * 49 */ 50 @JSFComponent 51 (name = "h:selectManyCheckbox", 52 clazz = "javax.faces.component.html.HtmlSelectManyCheckbox",template=true, 53 tagClass = "org.apache.myfaces.taglib.html.HtmlSelectManyCheckboxTag", 54 defaultRendererType = "javax.faces.Checkbox" 55 ) 56 abstract class _HtmlSelectManyCheckbox extends UISelectMany implements 57 _AccesskeyProperty, _UniversalProperties, _FocusBlurProperties, 58 _ChangeSelectProperties, _EventProperties, _StyleProperties, 59 _TabindexProperty, _DisabledReadonlyProperties, 60 _DisabledClassEnabledClassProperties, _LabelProperty 61 { 62 63 static public final String COMPONENT_FAMILY = 64 "javax.faces.SelectMany"; 65 static public final String COMPONENT_TYPE = 66 "javax.faces.HtmlSelectManyCheckbox"; 67 68 /** 69 * HTML: Specifies the width of the border of this element, in pixels. Deprecated in HTML 4.01. 70 * 71 * @JSFProperty 72 * defaultValue="Integer.MIN_VALUE" 73 */ 74 public abstract int getBorder(); 75 76 /** 77 * Controls the layout direction of the child elements. Values include: 78 * lineDirection (vertical) and pageDirection (horzontal). 79 * 80 * @JSFProperty 81 */ 82 public abstract String getLayout(); 83 84 }