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.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  }