001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.juneau.bean.html5; 018 019import org.apache.juneau.marshall.*; 020 021/** 022 * DTO for an HTML <a class="doclink" href="https://www.w3.org/TR/html5/tabular-data.html#the-tfoot-element"><tfoot></a> 023 * element. 024 * 025 * <p> 026 * The tfoot element represents a group of rows that consist of the column summaries (footers) for 027 * the parent table element. It is used to group footer rows of a table, separating them from the 028 * header (thead) and body (tbody) sections. The tfoot element can contain multiple tr elements 029 * and is typically used to display summary information, totals, or other footer content. 030 * 031 * <h5 class='section'>Examples:</h5> 032 * <p class='bcode w800'> 033 * <jk>import static</jk> org.apache.juneau.bean.html5.HtmlBuilder.*; 034 * 035 * <jc>// Simple table footer with totals</jc> 036 * Tfoot <jv>simple</jv> = <jsm>tfoot</jsm>( 037 * <jsm>tr</jsm>( 038 * <jsm>td</jsm>(<js>"Total"</js>), 039 * <jsm>td</jsm>(<js>"$1,000"</js>), 040 * <jsm>td</jsm>(<js>"$2,000"</js>) 041 * ) 042 * ); 043 * 044 * <jc>// Table footer with styling</jc> 045 * Tfoot <jv>styled</jv> = <jsm>tfoot</jsm>( 046 * <jsm>tr</jsm>( 047 * <jsm>td</jsm>(<js>"Grand Total"</js>), 048 * <jsm>td</jsm>(<js>"$3,000"</js>) 049 * ) 050 * ).class_(<js>"table-footer"</js>); 051 * 052 * <jc>// Table footer with multiple rows</jc> 053 * Tfoot <jv>multiple</jv> = <jsm>tfoot</jsm>( 054 * <jsm>tr</jsm>( 055 * <jsm>td</jsm>(<js>"Subtotal"</js>), 056 * <jsm>td</jsm>(<js>"$500"</js>) 057 * ), 058 * <jsm>tr</jsm>( 059 * .children( 060 * new Td().children("Tax"), 061 * new Td().children("$50") 062 * ), 063 * new Tr() 064 * .children( 065 * new Td().children("Total"), 066 * new Td().children("$550") 067 * ) 068 * ); 069 * 070 * // Table footer with summary information 071 * Tfoot summary = new Tfoot() 072 * .children( 073 * new Tr() 074 * .children( 075 * new Td().colspan(3).children("Summary: 10 items, 3 categories") 076 * ) 077 * ); 078 * </p> 079 * 080 * <h5 class='section'>See Also:</h5><ul> 081 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 082 * </ul> 083 */ 084@Marshalled(typeName = "tfoot") 085public class Tfoot extends HtmlElementContainer<Tfoot> { 086 087 /** 088 * Creates an empty {@link Tfoot} element. 089 */ 090 public Tfoot() {} 091 092 /** 093 * Creates a {@link Tfoot} element with the specified child nodes. 094 * 095 * @param children The child nodes. Must not be <jk>null</jk>. 096 */ 097 public Tfoot(Object...children) { 098 children(children); 099 } 100 101}