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 org.apache.myfaces.custom.checkbox;
20  
21  import javax.faces.component.UIComponentBase;
22  
23  import org.apache.myfaces.component.UserRoleAware;
24  
25  /**
26   * Renders a HTML input of type "checkbox". 
27   * The associated SelectItem comes from an extended selectManyCheckbox 
28   * component with layout "spread". The selectManyCheckbox is 
29   * referenced by the "for" attribute.
30   * 
31   * All HTML pass-through attributes for this input 
32   * are taken from the associated selectManyCheckbox. 
33   * 
34   * Unless otherwise specified, all attributes accept static values or EL expressions.
35   * 
36   * @JSFComponent
37   *   name = "t:checkbox"
38   *   class = "org.apache.myfaces.custom.checkbox.HtmlCheckbox"
39   *   tagClass = "org.apache.myfaces.custom.checkbox.HtmlCheckboxTag"
40   * @since 1.1.7
41   * @author Manfred Geiler (latest modification by $Author: lu4242 $)
42   * @version $Revision: 691856 $ $Date: 2008-09-03 21:40:30 -0500 (Wed, 03 Sep 2008) $
43   */
44  public abstract class AbstractHtmlCheckbox
45      extends UIComponentBase implements UserRoleAware
46  {
47  
48      public static final String FOR_ATTR = "for".intern();
49      public static final String INDEX_ATTR = "index".intern();
50  
51      public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlCheckbox";
52      public static final String COMPONENT_FAMILY = "org.apache.myfaces.Checkbox";
53      private static final String DEFAULT_RENDERER_TYPE = "org.apache.myfaces.Checkbox";
54  
55      /**
56       * id of the referenced extended selectManyCheckbox component
57       * 
58       * @JSFProperty
59       *   required="true"
60       */
61      public abstract String getFor();
62      
63      /**
64       * n-th SelectItem of referenced UISelectMany starting with 0.
65       * 
66       * @JSFProperty
67       *   defaultValue = "Integer.MIN_VALUE"
68       *   required="true"
69       */
70      public abstract int getIndex();
71  
72  }