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.UIColumn;
22  
23  import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
24  import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFExclude;
25  import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
26  
27  /**
28   * Creates a UIComponent that represents a single column of data within a parent UIData component.
29   * <p>
30   * This tag is commonly used as a child of the h:dataTable tag, to represent a column of
31   * data within an html table. It can be decorated with nested "header" and "footer" facets
32   * which cause the output of header and footer rows.
33   * </p>
34   * <p>
35   * The non-facet child components of this column are re-rendered on each table row
36   * to generate the content of the cell. Those child components can reference the "var"
37   * attribute of the containing h:dataTable to generate appropriate output for each row.
38   * </p>
39   */
40  @JSFComponent
41  (name = "h:column",
42  clazz = "javax.faces.component.html.HtmlColumn",template=true,
43  tagClass = "org.apache.myfaces.taglib.html.HtmlColumnTag")
44  abstract class _HtmlColumn extends UIColumn
45  {
46  
47    static public final String COMPONENT_FAMILY = "javax.faces.Column";
48    static public final String COMPONENT_TYPE = "javax.faces.HtmlColumn";
49  
50    /**
51     * CSS class to be used for the header.
52     *
53     * @return  the new headerClass value
54     */
55    @JSFProperty
56    public abstract String getHeaderClass();
57  
58    /**
59     * CSS class to be used for the footer.
60     *
61     * @return  the new footerClass value
62     */
63    @JSFProperty
64    public abstract String getFooterClass();
65  
66    /**
67     * If true the column is rendered with "th" and scope="row" attribute,
68     * instead "td"
69     *
70     * @since 2.0
71     * @return
72     */
73    @JSFProperty (defaultValue="false")
74    public abstract boolean isRowHeader();
75    
76    @JSFProperty(deferredValueType="java.lang.Boolean")
77    @JSFExclude
78    @Override
79    public boolean isRendered()
80    {
81        return super.isRendered();
82    }
83  }