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.UIComponent; 22 import javax.faces.component.UIData; 23 24 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent; 25 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFExclude; 26 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFFacet; 27 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty; 28 29 /** 30 * This component renders an HTML table element. 31 * <p> 32 * This component may have nested facets with names "header" and "footer" 33 * to specify header and footer rows. 34 * </p> 35 * <p> 36 * The non-facet children of this component are expected to be 37 * h:column components which describe the columns of the table. 38 * </p> 39 */ 40 @JSFComponent 41 (name = "h:dataTable", 42 clazz = "javax.faces.component.html.HtmlDataTable",template=true, 43 tagClass = "org.apache.myfaces.taglib.html.HtmlDataTableTag", 44 defaultRendererType = "javax.faces.Table", 45 implementz = "javax.faces.component.behavior.ClientBehaviorHolder" 46 ) 47 abstract class _HtmlDataTable extends UIData 48 implements _EventProperties, _StyleProperties, _UniversalProperties, _RoleProperty 49 { 50 51 static public final String COMPONENT_FAMILY = 52 "javax.faces.Data"; 53 static public final String COMPONENT_TYPE = 54 "javax.faces.HtmlDataTable"; 55 56 /** 57 * HTML: The background color of this element. 58 * 59 */ 60 @JSFProperty 61 public abstract String getBgcolor(); 62 63 /** 64 * CSV of several row index to start (and end a previous) tbody element 65 * 66 * @since 2.0 67 */ 68 @JSFProperty 69 public abstract String getBodyrows(); 70 71 /** 72 * HTML: Specifies the width of the border of this element, in pixels. Deprecated in HTML 4.01. 73 * 74 */ 75 @JSFProperty(defaultValue="Integer.MIN_VALUE") 76 public abstract int getBorder(); 77 78 /** 79 * HTML: Specifies the amount of empty space between the cell border and 80 * its contents. It can be either a pixel length or a percentage. 81 * 82 */ 83 @JSFProperty 84 public abstract String getCellpadding(); 85 86 /** 87 * HTML: Specifies the amount of space between the cells of the table. 88 * It can be either a pixel length or a percentage of available 89 * space. 90 * 91 */ 92 @JSFProperty 93 public abstract String getCellspacing(); 94 95 /** 96 * A comma separated list of CSS class names to apply to td elements in 97 * each column. 98 * 99 */ 100 @JSFProperty 101 public abstract String getColumnClasses(); 102 103 /** 104 * The CSS class to be applied to footer cells. 105 * 106 */ 107 @JSFProperty 108 public abstract String getFooterClass(); 109 110 /** 111 * HTML: Controls what part of the frame that surrounds a table is 112 * visible. Values include: void, above, below, hsides, lhs, 113 * rhs, vsides, box, and border. 114 * 115 */ 116 @JSFProperty 117 public abstract String getFrame(); 118 119 /** 120 * The CSS class to be applied to header cells. 121 * 122 */ 123 @JSFProperty 124 public abstract String getHeaderClass(); 125 126 /** 127 * A comma separated list of CSS class names to apply to td elements in 128 * each row. 129 * 130 */ 131 @JSFProperty 132 public abstract String getRowClasses(); 133 134 /** 135 * HTML: Controls how rules are rendered between cells. Values include: 136 * none, groups, rows, cols, and all. 137 * 138 */ 139 @JSFProperty 140 public abstract String getRules(); 141 142 /** 143 * HTML: Provides a summary of the contents of the table, for 144 * accessibility purposes. 145 * 146 */ 147 @JSFProperty 148 public abstract String getSummary(); 149 150 /** 151 * HTML: Specifies the desired width of the table, as a pixel length or 152 * a percentage of available space. 153 * 154 */ 155 @JSFProperty 156 public abstract String getWidth(); 157 158 /** 159 * A comma separated list of CSS class names to apply to all captions. 160 * If there are less classes than the number of rows, apply the same 161 * sequence of classes to the remaining captions, so the pattern is repeated. 162 * More than one class can be applied to a row by separating the classes 163 * with a space. 164 * 165 * @return the new captionClass value 166 */ 167 @JSFProperty 168 public abstract String getCaptionClass(); 169 170 /** 171 * Gets The CSS class to be applied to the Caption. 172 * 173 * @return the new captionStyle value 174 */ 175 @JSFProperty 176 public abstract String getCaptionStyle(); 177 178 /** 179 * The facet associated to the Caption. 180 * 181 * @return 182 */ 183 @JSFFacet 184 @JSFExclude 185 public abstract UIComponent getCaption(); 186 187 }