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