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 }