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 019/** 020 * Various useful static methods for creating HTML elements. 021 * 022 * <p> 023 * The HtmlBuilder class contains lots of static creator methods to minimize the amount of code needed to produce HTML DOMs. 024 * Instead of using constructors directly, you can use these static methods for more concise code. 025 * 026 * <h5 class='section'>Examples:</h5> 027 * <p class='bcode w800'> 028 * <jk>import static</jk> org.apache.juneau.bean.html5.HtmlBuilder.*; 029 * 030 * <jc>// Instead of this...</jc> 031 * P <jv>address</jv> = <jk>new</jk> P() 032 * .children( 033 * <js>"John Doe"</js>, 034 * <jk>new</jk> Br(), 035 * <js>"123 Main Street"</js>, 036 * <jk>new</jk> Br(), 037 * <js>"Anytown, ST 12345"</js> 038 * ); 039 * 040 * <jc>// ...you can write this...</jc> 041 * P <jv>address</jv> = <jsm>p</jsm>( 042 * <js>"John Doe"</js>, 043 * <jsm>br</jsm>(), 044 * <js>"123 Main Street"</js>, 045 * <jsm>br</jsm>(), 046 * <js>"Anytown, ST 12345"</js> 047 * ); 048 * 049 * <jc>// Form with builder methods</jc> 050 * Form <jv>form</jv> = <jsm>form</jsm>(<js>"/submit"</js>, 051 * <jsm>input</jsm>(<js>"text"</js>).name(<js>"username"</js>).placeholder(<js>"Username"</js>), 052 * <jsm>input</jsm>(<js>"password"</js>).name(<js>"password"</js>).placeholder(<js>"Password"</js>), 053 * <jsm>button</jsm>(<js>"submit"</js>, <js>"Login"</js>) 054 * ); 055 * 056 * <jc>// Table with builder methods</jc> 057 * Table <jv>table</jv> = <jsm>table</jsm>( 058 * <jsm>thead</jsm>( 059 * <jsm>tr</jsm>( 060 * <jsm>th</jsm>(<js>"Name"</js>), 061 * <jsm>th</jsm>(<js>"Age"</js>), 062 * <jsm>th</jsm>(<js>"City"</js>) 063 * ) 064 * ), 065 * <jsm>tbody</jsm>( 066 * <jsm>tr</jsm>( 067 * <jsm>td</jsm>(<js>"John Doe"</js>), 068 * <jsm>td</jsm>(<js>"25"</js>), 069 * <jsm>td</jsm>(<js>"New York"</js>) 070 * ), 071 * <jsm>tr</jsm>( 072 * <jsm>td</jsm>(<js>"Jane Smith"</js>), 073 * <jsm>td</jsm>(<js>"30"</js>), 074 * <jsm>td</jsm>(<js>"Los Angeles"</js>) 075 * ) 076 * ) 077 * ); 078 * 079 * <jc>// Navigation menu</jc> 080 * Nav <jv>nav</jv> = <jsm>nav</jsm>( 081 * <jsm>ul</jsm>( 082 * <jsm>li</jsm>(<jsm>a</jsm>(<js>"/home"</js>, <js>"Home"</js>)), 083 * <jsm>li</jsm>(<jsm>a</jsm>(<js>"/about"</js>, <js>"About"</js>)), 084 * <jsm>li</jsm>(<jsm>a</jsm>(<js>"/contact"</js>, <js>"Contact"</js>)) 085 * ) 086 * ); 087 * 088 * <jc>// Fieldset with attributes after children</jc> 089 * Fieldset <jv>fieldset</jv> = <jsm>fieldset</jsm>( 090 * <jsm>legend</jsm>(<js>"User Information"</js>), 091 * <jsm>input</jsm>(<js>"text"</js>).name(<js>"firstName"</js>).placeholder(<js>"First Name"</js>), 092 * <jsm>input</jsm>(<js>"text"</js>).name(<js>"lastName"</js>).placeholder(<js>"Last Name"</js>) 093 * ).disabled(<jk>true</jk>); 094 * 095 * <jc>// List with mixed content</jc> 096 * Ul <jv>list</jv> = <jsm>ul</jsm>( 097 * <jsm>li</jsm>(<js>"Simple item"</js>), 098 * <jsm>li</jsm>(<jsm>strong</jsm>(<js>"Bold item"</js>)), 099 * <jsm>li</jsm>( 100 * <js>"Item with "</js>, 101 * <jsm>em</jsm>(<js>"emphasis"</js>), 102 * <js>" and "</js>, 103 * <jsm>code</jsm>(<js>"code"</js>) 104 * ) 105 * ); 106 * 107 * <jc>// Media elements</jc> 108 * Video <jv>video</jv> = <jsm>video</jsm>(<js>"/path/to/video.mp4"</js>) 109 * .controls(<jk>true</jk>) 110 * .width(640) 111 * .height(480) 112 * .children( 113 * <jsm>track</jsm>(<js>"/path/to/subtitles.vtt"</js>, <js>"captions"</js>).srclang(<js>"en"</js>).label(<js>"English"</js>) 114 * ); 115 * 116 * Audio <jv>audio</jv> = <jsm>audio</jsm>(<js>"/path/to/audio.mp3"</js>) 117 * .controls(<jk>true</jk>) 118 * .autoplay(<jk>false</jk>) 119 * .children( 120 * <jsm>source</jsm>(<js>"/path/to/audio.ogg"</js>, <js>"audio/ogg"</js>), 121 * <jsm>source</jsm>(<js>"/path/to/audio.mp3"</js>, <js>"audio/mpeg"</js>) 122 * ); 123 * </p> 124 * 125 * <h5 class='section'>See Also:</h5><ul> 126 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 127 * </ul> 128 */ 129public class HtmlBuilder { 130 131 /** 132 * Creates an empty {@link A} element. 133 * 134 * @return The new element. 135 */ 136 public static final A a() { 137 return new A(); 138 } 139 140 /** 141 * Creates an {@link A} element with the specified {@link A#href(Object)} attribute and {@link A#children(Object[])} 142 * nodes. 143 * 144 * @param href The {@link A#href(Object)} attribute. 145 * @param children The {@link A#children(Object[])} nodes. 146 * @return The new element. 147 */ 148 public static final A a(Object href, Object...children) { 149 return new A(href, children); 150 } 151 152 /** 153 * Creates an empty {@link Abbr} element. 154 * 155 * @return The new element. 156 */ 157 public static final Abbr abbr() { 158 return new Abbr(); 159 } 160 161 /** 162 * Creates an {@link Abbr} element with the specified {@link Abbr#title(String)} attribute and 163 * {@link Abbr#children(Object[])} nodes. 164 * 165 * @param title The {@link Abbr#title(String)} attribute. 166 * @param children The {@link Abbr#children(Object[])} nodes. 167 * @return The new element. 168 */ 169 public static final Abbr abbr(String title, Object...children) { 170 return new Abbr(title, children); 171 } 172 173 /** 174 * Creates an empty {@link Address} element. 175 * 176 * @return The new element. 177 */ 178 public static final Address address() { 179 return new Address(); 180 } 181 182 /** 183 * Creates an {@link Address} element with the specified child nodes. 184 * 185 * @param children The child nodes. 186 * @return The new element. 187 */ 188 public static final Address address(Object...children) { 189 return new Address(children); 190 } 191 192 /** 193 * Creates an empty {@link Area} element. 194 * 195 * @return The new element. 196 */ 197 public static final Area area() { 198 return new Area(); 199 } 200 201 /** 202 * Creates an {@link Area} element with the specified {@link Area#shape(String)}, {@link Area#coords(String)}, 203 * and {@link Area#href(Object)} attributes. 204 * 205 * @param shape The {@link Area#shape(String)} attribute. 206 * @param coords The {@link Area#coords(String)} attribute. 207 * @param href The {@link Area#href(Object)} attribute. 208 * @return The new element. 209 */ 210 public static final Area area(String shape, String coords, Object href) { 211 return new Area(shape, coords, href); 212 } 213 214 /** 215 * Creates an empty {@link Article} element. 216 * 217 * @return The new element. 218 */ 219 public static final Article article() { 220 return new Article(); 221 } 222 223 /** 224 * Creates an {@link Article} element with the specified child nodes. 225 * 226 * @param children The child nodes. 227 * @return The new element. 228 */ 229 public static final Article article(Object...children) { 230 return new Article(children); 231 } 232 233 /** 234 * Creates an empty {@link Aside} element. 235 * 236 * @return The new element. 237 */ 238 public static final Aside aside() { 239 return new Aside(); 240 } 241 242 /** 243 * Creates an {@link Aside} element with the specified child nodes. 244 * 245 * @param children The child nodes. 246 * @return The new element. 247 */ 248 public static final Aside aside(Object...children) { 249 return new Aside(children); 250 } 251 252 /** 253 * Creates an empty {@link Audio} element. 254 * 255 * @return The new element. 256 */ 257 public static final Audio audio() { 258 return new Audio(); 259 } 260 261 /** 262 * Creates an {@link Audio} element with the specified {@link Audio#src(Object)} attribute. 263 * 264 * @param src The {@link Audio#src(Object)} attribute. 265 * @return The new element. 266 */ 267 public static final Audio audio(String src) { 268 return new Audio(src); 269 } 270 271 /** 272 * Creates an empty {@link B} element. 273 * 274 * @return The new element. 275 */ 276 public static final B b() { 277 return new B(); 278 } 279 280 /** 281 * Creates a {@link B} element with the specified child nodes. 282 * 283 * @param children The child nodes. 284 * @return The new element. 285 */ 286 public static final B b(Object...children) { 287 return new B(children); 288 } 289 290 /** 291 * Creates an empty {@link Base} element. 292 * 293 * @return The new element. 294 */ 295 public static final Base base() { 296 return new Base(); 297 } 298 299 /** 300 * Creates a {@link Base} element with the specified {@link Base#href(Object)} attribute. 301 * 302 * @param href The {@link Base#href(Object)} attribute. 303 * @return The new element. 304 */ 305 public static final Base base(Object href) { 306 return new Base(href); 307 } 308 309 /** 310 * Creates an empty {@link Bdi} element. 311 * 312 * @return The new element. 313 */ 314 public static final Bdi bdi() { 315 return new Bdi(); 316 } 317 318 /** 319 * Creates a {@link Bdi} element with the specified {@link Bdi#text(Object)} node. 320 * 321 * @param text The {@link Bdi#text(Object)} node. 322 * @return The new element. 323 */ 324 public static final Bdi bdi(Object text) { 325 return new Bdi(text); 326 } 327 328 /** 329 * Creates an empty {@link Bdo} element. 330 * 331 * @return The new element. 332 */ 333 public static final Bdo bdo() { 334 return new Bdo(); 335 } 336 337 /** 338 * Creates a {@link Bdo} element with the specified {@link Bdo#dir(String)} attribute and child nodes. 339 * 340 * @param dir The {@link Bdo#dir(String)} attribute. 341 * @param children The child nodes. 342 * @return The new element. 343 */ 344 public static final Bdo bdo(String dir, Object...children) { 345 return new Bdo(dir, children); 346 } 347 348 /** 349 * Creates an empty {@link Blockquote} element. 350 * 351 * @return The new element. 352 */ 353 public static final Blockquote blockquote() { 354 return new Blockquote(); 355 } 356 357 /** 358 * Creates a {@link Blockquote} element with the specified child nodes. 359 * 360 * @param children The child nodes. 361 * @return The new element. 362 */ 363 public static final Blockquote blockquote(Object...children) { 364 return new Blockquote(children); 365 } 366 367 /** 368 * Creates an empty {@link Body} element. 369 * 370 * @return The new element. 371 */ 372 public static final Body body() { 373 return new Body(); 374 } 375 376 /** 377 * Creates a {@link Body} element with the specified child nodes. 378 * 379 * @param children The child nodes. 380 * @return The new element. 381 */ 382 public static final Body body(Object...children) { 383 return new Body(children); 384 } 385 386 /** 387 * Creates an empty {@link Br} element. 388 * 389 * @return The new element. 390 */ 391 public static final Br br() { 392 return new Br(); 393 } 394 395 /** 396 * Creates an empty {@link Button} element. 397 * 398 * @return The new element. 399 */ 400 public static final Button button() { 401 return new Button(); 402 } 403 404 /** 405 * Creates a {@link Button} element with the specified {@link Button#type(String)} attribute. 406 * 407 * @param type The {@link Button#type(String)} attribute. 408 * @return The new element. 409 */ 410 public static final Button button(String type) { 411 return new Button(type); 412 } 413 414 /** 415 * Creates a {@link Button} element with the specified {@link Button#type(String)} attribute and 416 * {@link Button#children(Object[])} nodes. 417 * 418 * @param type The {@link Button#type(String)} attribute. 419 * @param children The {@link Button#children(Object[])} nodes. 420 * @return The new element. 421 */ 422 public static final Button button(String type, Object...children) { 423 return new Button(type, children); 424 } 425 426 /** 427 * Creates an empty {@link Canvas} element. 428 * @return The new element. 429 */ 430 public static final Canvas canvas() { 431 return new Canvas(); 432 } 433 434 /** 435 * Creates a {@link Canvas} element with the specified {@link Canvas#width(Object)} and 436 * {@link Canvas#height(Object)} attributes. 437 * 438 * @param width The {@link Canvas#width(Object)} attribute. 439 * @param height The {@link Canvas#height(Object)} attribute. 440 * @return The new element. 441 */ 442 public static final Canvas canvas(Number width, Number height) { 443 return new Canvas(width, height); 444 } 445 446 /** 447 * Creates an empty {@link Caption} element. 448 * 449 * @return The new element. 450 */ 451 public static final Caption caption() { 452 return new Caption(); 453 } 454 455 /** 456 * Creates a {@link Caption} element with the specified child nodes. 457 * 458 * @param children The child nodes. 459 * @return The new element. 460 */ 461 public static final Caption caption(Object...children) { 462 return new Caption(children); 463 } 464 465 /** 466 * Creates an empty {@link Cite} element. 467 * 468 * @return The new element. 469 */ 470 public static final Cite cite() { 471 return new Cite(); 472 } 473 474 /** 475 * Creates a {@link Cite} element with the specified child nodes. 476 * 477 * @param children The child nodes. 478 * @return The new element. 479 */ 480 public static final Cite cite(Object...children) { 481 return new Cite(children); 482 } 483 484 /** 485 * Creates an empty {@link Code} element. 486 * 487 * @return The new element. 488 */ 489 public static final Code code() { 490 return new Code(); 491 } 492 493 /** 494 * Creates a {@link Code} element with the specified child nodes. 495 * 496 * @param children The child nodes. 497 * @return The new element. 498 */ 499 public static final Code code(Object...children) { 500 return new Code(children); 501 } 502 503 /** 504 * Creates an empty {@link Col} element. 505 * 506 * @return The new element. 507 * 508 */ 509 public static final Col col() { 510 return new Col(); 511 } 512 513 /** 514 * Creates a {@link Col} element with the specified {@link Col#span(Object)} attribute. 515 * 516 * @param span The {@link Col#span(Object)} attribute. 517 * @return The new element. 518 */ 519 public static final Col col(Number span) { 520 return new Col(span); 521 } 522 523 /** 524 * Creates an empty {@link Colgroup} element. 525 * 526 * @return The new element. 527 */ 528 public static final Colgroup colgroup() { 529 return new Colgroup(); 530 } 531 532 /** 533 * Creates a {@link Colgroup} element with the specified child nodes. 534 * 535 * @param children The child nodes. 536 * @return The new element. 537 */ 538 public static final Colgroup colgroup(Object...children) { 539 return new Colgroup(children); 540 } 541 542 /** 543 * Creates an empty {@link Data} element. 544 * 545 * @return The new element. 546 */ 547 public static final Data data() { 548 return new Data(); 549 } 550 551 /** 552 * Creates a {@link Data} element with the specified {@link Data#value(Object)} attribute and child node. 553 * 554 * @param value The {@link Data#value(Object)} attribute. 555 * @param child The child node. 556 * @return The new element. 557 */ 558 public static final Data data(String value, Object child) { 559 return new Data(value, child); 560 } 561 562 /** 563 * Creates an empty {@link Datalist} element. 564 * 565 * @return The new element. 566 */ 567 public static final Datalist datalist() { 568 return new Datalist(); 569 } 570 571 /** 572 * Creates a {@link Datalist} element with the specified {@link Datalist#id(String)} attribute and child nodes. 573 * 574 * @param id The {@link Datalist#id(String)} attribute. 575 * @param children The child nodes. 576 * @return The new element. 577 */ 578 public static final Datalist datalist(String id, Option...children) { 579 return new Datalist(id, children); 580 } 581 582 /** 583 * Creates an empty {@link Dd} element. 584 * 585 * @return The new element. 586 */ 587 public static final Dd dd() { 588 return new Dd(); 589 } 590 591 /** 592 * Creates a {@link Dd} element with the specified child nodes. 593 * 594 * @param children The child nodes. 595 * @return The new element. 596 */ 597 public static final Dd dd(Object...children) { 598 return new Dd(children); 599 } 600 601 /** 602 * Creates an empty {@link Del} element. 603 * 604 * @return The new element. 605 */ 606 public static final Del del() { 607 return new Del(); 608 } 609 610 /** 611 * Creates a {@link Del} element with the specified {@link Del#children(Object[])} node. 612 * 613 * @param children The {@link Del#children(Object[])} node. 614 * @return The new element. 615 */ 616 public static final Del del(Object...children) { 617 return new Del(children); 618 } 619 620 /** 621 * Creates an empty {@link Dfn} element. 622 * 623 * @return The new element. 624 */ 625 public static final Dfn dfn() { 626 return new Dfn(); 627 } 628 629 /** 630 * Creates a {@link Dfn} element with the specified child nodes. 631 * 632 * @param children The child nodes. 633 * @return The new element. 634 */ 635 public static final Dfn dfn(Object...children) { 636 return new Dfn(children); 637 } 638 639 /** 640 * Creates an empty {@link Div} element. 641 * 642 * @return The new element. 643 */ 644 public static final Div div() { 645 return new Div(); 646 } 647 648 /** 649 * Creates a {@link Div} element with the specified child nodes. 650 * 651 * @param children The child nodes. 652 * @return The new element. 653 */ 654 public static final Div div(Object...children) { 655 return new Div(children); 656 } 657 658 /** 659 * Creates an empty {@link Dl} element. 660 * 661 * @return The new element. 662 */ 663 public static final Dl dl() { 664 return new Dl(); 665 } 666 667 /** 668 * Creates a {@link Dl} element with the specified child nodes. 669 * 670 * @param children The child nodes. 671 * @return The new element. 672 */ 673 public static final Dl dl(Object...children) { 674 return new Dl(children); 675 } 676 677 /** 678 * Creates an empty {@link Dt} element. 679 * 680 * @return The new element. 681 */ 682 public static final Dt dt() { 683 return new Dt(); 684 } 685 686 /** 687 * Creates a {@link Dt} element with the specified child nodes. 688 * 689 * @param children The child nodes. 690 * @return The new element. 691 */ 692 public static final Dt dt(Object...children) { 693 return new Dt(children); 694 } 695 696 /** 697 * Creates an empty {@link Em} element. 698 * 699 * @return The new element. 700 */ 701 public static final Em em() { 702 return new Em(); 703 } 704 705 /** 706 * Creates an {@link Em} element with the specified {@link Em#children(Object[])} nodes. 707 * 708 * @param children The {@link Em#children(Object[])} nodes. 709 * @return The new element. 710 */ 711 public static final Em em(Object...children) { 712 return new Em(children); 713 } 714 715 /** 716 * Creates an empty {@link Embed} element. 717 * 718 * @return The new element. 719 */ 720 public static final Embed embed() { 721 return new Embed(); 722 } 723 724 /** 725 * Creates an {@link Embed} element with the specified {@link Embed#src(Object)} attribute. 726 * 727 * @param src The {@link Embed#src(Object)} attribute. 728 * @return The new element. 729 */ 730 public static final Embed embed(Object src) { 731 return new Embed(src); 732 } 733 734 /** 735 * Creates an empty {@link Fieldset} element. 736 * 737 * @return The new element. 738 */ 739 public static final Fieldset fieldset() { 740 return new Fieldset(); 741 } 742 743 /** 744 * Creates a {@link Fieldset} element with the specified child nodes. 745 * 746 * @param children The child nodes. 747 * @return The new element. 748 */ 749 public static final Fieldset fieldset(Object...children) { 750 return new Fieldset(children); 751 } 752 753 /** 754 * Creates an empty {@link Figcaption} element. 755 * 756 * @return The new element. 757 */ 758 public static final Figcaption figcaption() { 759 return new Figcaption(); 760 } 761 762 /** 763 * Creates a {@link Figcaption} element with the specified child nodes. 764 * 765 * @param children The child nodes. 766 * @return The new element. 767 */ 768 public static final Figcaption figcaption(Object...children) { 769 return new Figcaption(children); 770 } 771 772 /** 773 * Creates an empty {@link Figure} element. 774 * 775 * @return The new element. 776 */ 777 public static final Figure figure() { 778 return new Figure(); 779 } 780 781 /** 782 * Creates a {@link Figure} element with the specified child nodes. 783 * 784 * @param children The child nodes. 785 * @return The new element. 786 */ 787 public static final Figure figure(Object...children) { 788 return new Figure(children); 789 } 790 791 /** 792 * Creates an empty {@link Footer} element. 793 * 794 * @return The new element. 795 */ 796 public static final Footer footer() { 797 return new Footer(); 798 } 799 800 /** 801 * Creates a {@link Footer} element with the specified child nodes. 802 * 803 * @param children The child nodes. 804 * @return The new element. 805 */ 806 public static final Footer footer(Object...children) { 807 return new Footer(children); 808 } 809 810 /** 811 * Creates an empty {@link Form} element. 812 * 813 * @return The new element. 814 */ 815 public static final Form form() { 816 return new Form(); 817 } 818 819 /** 820 * Creates a {@link Form} element with the specified {@link Form#action(String)} attribute. 821 * 822 * @param action The {@link Form#action(String)} attribute. 823 * @return The new element. 824 */ 825 public static final Form form(String action) { 826 return new Form(action); 827 } 828 829 /** 830 * Creates an {@link Form} element with the specified {@link Form#action(String)} attribute and child nodes. 831 * 832 * @param action The {@link Form#action(String)} attribute. 833 * @param children The child nodes. 834 * @return The new element. 835 */ 836 public static final Form form(String action, Object...children) { 837 return new Form(action, children); 838 } 839 840 /** 841 * Creates an empty {@link H1} element. 842 * 843 * @return The new element. 844 */ 845 public static final H1 h1() { 846 return new H1(); 847 } 848 849 /** 850 * Creates an {@link H1} element with the specified child nodes. 851 * 852 * @param children The child nodes. 853 * @return The new element. 854 */ 855 public static final H1 h1(Object...children) { 856 return new H1(children); 857 } 858 859 /** 860 * Creates an empty {@link H2} element. 861 * 862 * @return The new element. 863 */ 864 public static final H2 h2() { 865 return new H2(); 866 } 867 868 /** 869 * Creates an {@link H2} element with the specified child nodes. 870 * 871 * @param children The child nodes. 872 * @return The new element. 873 */ 874 public static final H2 h2(Object...children) { 875 return new H2(children); 876 } 877 878 /** 879 * Creates an empty {@link H3} element. 880 * 881 * @return The new element. 882 */ 883 public static final H3 h3() { 884 return new H3(); 885 } 886 887 /** 888 * Creates an {@link H3} element with the specified child nodes. 889 * 890 * @param children The child nodes. 891 * @return The new element. 892 */ 893 public static final H3 h3(Object...children) { 894 return new H3(children); 895 } 896 897 /** 898 * Creates an empty {@link H4} element. 899 * 900 * @return The new element. 901 */ 902 public static final H4 h4() { 903 return new H4(); 904 } 905 906 /** 907 * Creates an {@link H4} element with the specified child nodes. 908 * 909 * @param children The child nodes. 910 * @return The new element. 911 */ 912 public static final H4 h4(Object...children) { 913 return new H4(children); 914 } 915 916 /** 917 * Creates an empty {@link H5} element. 918 * 919 * @return The new element. 920 */ 921 public static final H5 h5() { 922 return new H5(); 923 } 924 925 /** 926 * Creates an {@link H5} element with the specified child nodes. 927 * 928 * @param children The child nodes. 929 * @return The new element. 930 */ 931 public static final H5 h5(Object...children) { 932 return new H5(children); 933 } 934 935 /** 936 * Creates an empty {@link H6} element. 937 * @return The new element. 938 */ 939 public static final H6 h6() { 940 return new H6(); 941 } 942 943 /** 944 * Creates an {@link H6} element with the specified child nodes. 945 * 946 * @param children The child nodes. 947 * @return The new element. 948 */ 949 public static final H6 h6(Object...children) { 950 return new H6(children); 951 } 952 953 /** 954 * Creates an empty {@link Head} element. 955 * 956 * @return The new element. 957 */ 958 public static final Head head() { 959 return new Head(); 960 } 961 962 /** 963 * Creates a {@link Head} element with the specified child nodes. 964 * 965 * @param children The child nodes. 966 * @return The new element. 967 */ 968 public static final Head head(Object...children) { 969 return new Head(children); 970 } 971 972 /** 973 * Creates an empty {@link Header} element. 974 * 975 * @return The new element. 976 */ 977 public static final Header header() { 978 return new Header(); 979 } 980 981 /** 982 * Creates a {@link Header} element with the specified child nodes. 983 * 984 * @param children The child nodes. 985 * @return The new element. 986 */ 987 public static final Header header(Object...children) { 988 return new Header(children); 989 } 990 991 /** 992 * Creates an empty {@link Hr} element. 993 * 994 * @return The new element. 995 */ 996 public static final Hr hr() { 997 return new Hr(); 998 } 999 1000 /** 1001 * Creates an empty {@link Html} element. 1002 * 1003 * @return The new element. 1004 */ 1005 public static final Html html() { 1006 return new Html(); 1007 } 1008 1009 /** 1010 * Creates an {@link Html} element with the specified child nodes. 1011 * 1012 * @param children The child nodes. 1013 * @return The new element. 1014 */ 1015 public static final Html html(Object...children) { 1016 return new Html(children); 1017 } 1018 1019 /** 1020 * Creates an empty {@link I} element. 1021 * 1022 * @return The new element. 1023 */ 1024 public static final I i() { 1025 return new I(); 1026 } 1027 1028 /** 1029 * Creates an {@link I} element with the specified child nodes. 1030 * 1031 * @param children The child nodes. 1032 * @return The new element. 1033 */ 1034 public static final I i(Object...children) { 1035 return new I(children); 1036 } 1037 1038 /** 1039 * Creates an empty {@link Iframe} element. 1040 * 1041 * @return The new element. 1042 */ 1043 public static final Iframe iframe() { 1044 return new Iframe(); 1045 } 1046 1047 /** 1048 * Creates an {@link Iframe} element with the specified child nodes. 1049 * 1050 * @param children The child nodes. 1051 * @return The new element. 1052 */ 1053 public static final Iframe iframe(Object...children) { 1054 return new Iframe(children); 1055 } 1056 1057 /** 1058 * Creates an empty {@link Img} element. 1059 * 1060 * @return The new element. 1061 */ 1062 public static final Img img() { 1063 return new Img(); 1064 } 1065 1066 /** 1067 * Creates an {@link Img} element with the specified {@link Img#src(Object)} attribute. 1068 * 1069 * @param src The {@link Img#src(Object)} attribute. 1070 * @return The new element. 1071 */ 1072 public static final Img img(Object src) { 1073 return new Img(src); 1074 } 1075 1076 /** 1077 * Creates an empty {@link Input} element. 1078 * 1079 * @return The new element. 1080 */ 1081 public static final Input input() { 1082 return new Input(); 1083 } 1084 1085 /** 1086 * Creates an {@link Input} element with the specified {@link Input#type(String)} attribute. 1087 * 1088 * @param type The {@link Input#type(String)} attribute. 1089 * @return The new element. 1090 */ 1091 public static final Input input(String type) { 1092 return new Input(type); 1093 } 1094 1095 /** 1096 * Creates an empty {@link Ins} element. 1097 * 1098 * @return The new element. 1099 */ 1100 public static final Ins ins() { 1101 return new Ins(); 1102 } 1103 1104 /** 1105 * Creates an {@link Ins} element with the specified child nodes. 1106 * 1107 * @param children The child nodes. 1108 * @return The new element. 1109 */ 1110 public static final Ins ins(Object...children) { 1111 return new Ins(children); 1112 } 1113 1114 /** 1115 * Creates an empty {@link Kbd} element. 1116 * 1117 * @return The new element. 1118 */ 1119 public static final Kbd kbd() { 1120 return new Kbd(); 1121 } 1122 1123 /** 1124 * Creates a {@link Kbd} element with the specified child nodes. 1125 * 1126 * @param children The child nodes. 1127 * @return The new element. 1128 */ 1129 public static final Kbd kbd(Object...children) { 1130 return new Kbd(children); 1131 } 1132 1133 /** 1134 * Creates an empty {@link Keygen} element. 1135 * 1136 * @return The new element. 1137 */ 1138 public static final Keygen keygen() { 1139 return new Keygen(); 1140 } 1141 1142 /** 1143 * Creates an empty {@link Label} element. 1144 * 1145 * @return The new element. 1146 */ 1147 public static final Label label() { 1148 return new Label(); 1149 } 1150 1151 /** 1152 * Creates a {@link Label} element with the specified child nodes. 1153 * 1154 * @param children The child nodes. 1155 * @return The new element. 1156 */ 1157 public static final Label label(Object...children) { 1158 return new Label(children); 1159 } 1160 1161 /** 1162 * Creates an empty {@link Legend} element. 1163 * 1164 * @return The new element. 1165 */ 1166 public static final Legend legend() { 1167 return new Legend(); 1168 } 1169 1170 /** 1171 * Creates a {@link Legend} element with the specified child nodes. 1172 * 1173 * @param children The child nodes. 1174 * @return The new element. 1175 */ 1176 public static final Legend legend(Object...children) { 1177 return new Legend(children); 1178 } 1179 1180 /** 1181 * Creates an empty {@link Li} element. 1182 * 1183 * @return The new element. 1184 */ 1185 public static final Li li() { 1186 return new Li(); 1187 } 1188 1189 /** 1190 * Creates an {@link Li} element with the specified child nodes. 1191 * 1192 * @param children The child nodes. 1193 * @return The new element. 1194 */ 1195 public static final Li li(Object...children) { 1196 return new Li(children); 1197 } 1198 1199 /** 1200 * Creates an empty {@link Link} element. 1201 * 1202 * @return The new element. 1203 */ 1204 public static final Link link() { 1205 return new Link(); 1206 } 1207 1208 /** 1209 * Creates a {@link Link} element with the specified {@link Link#href(Object)} attribute. 1210 * 1211 * @param href The {@link Link#href(Object)} attribute. 1212 * @return The new element. 1213 */ 1214 public static final Link link(Object href) { 1215 return new Link(href); 1216 } 1217 1218 /** 1219 * Creates an empty {@link Main} element. 1220 * 1221 * @return The new element. 1222 */ 1223 public static final Main main() { 1224 return new Main(); 1225 } 1226 1227 /** 1228 * Creates a {@link Main} element with the specified child nodes. 1229 * 1230 * @param children The child nodes. 1231 * @return The new element. 1232 */ 1233 public static final Main main(Object...children) { 1234 return new Main(children); 1235 } 1236 1237 /** 1238 * Creates an empty {@link Map} element. 1239 * 1240 * @return The new element. 1241 */ 1242 public static final Map map() { 1243 return new Map(); 1244 } 1245 1246 /** 1247 * Creates a {@link Map} element with the specified child nodes. 1248 * 1249 * @param children The child nodes. 1250 * @return The new element. 1251 */ 1252 public static final Map map(Object...children) { 1253 return new Map(children); 1254 } 1255 1256 /** 1257 * Creates an empty {@link Mark} element. 1258 * 1259 * @return The new element. 1260 */ 1261 public static final Mark mark() { 1262 return new Mark(); 1263 } 1264 1265 /** 1266 * Creates a {@link Mark} element with the specified child nodes. 1267 * 1268 * @param children The child nodes. 1269 * @return The new element. 1270 */ 1271 public static final Mark mark(Object...children) { 1272 return new Mark(children); 1273 } 1274 1275 /** 1276 * Creates an empty {@link Meta} element. 1277 * 1278 * @return The new element. 1279 */ 1280 public static final Meta meta() { 1281 return new Meta(); 1282 } 1283 1284 /** 1285 * Creates an empty {@link Meter} element. 1286 * 1287 * @return The new element. 1288 */ 1289 public static final Meter meter() { 1290 return new Meter(); 1291 } 1292 1293 /** 1294 * Creates a {@link Meter} element with the specified child nodes. 1295 * 1296 * @param children The child nodes. 1297 * @return The new element. 1298 */ 1299 public static final Meter meter(Object...children) { 1300 return new Meter(children); 1301 } 1302 1303 /** 1304 * Creates an empty {@link Nav} element. 1305 * 1306 * @return The new element. 1307 */ 1308 public static final Nav nav() { 1309 return new Nav(); 1310 } 1311 1312 /** 1313 * Creates a {@link Nav} element with the specified child nodes. 1314 * 1315 * @param children The child nodes. 1316 * @return The new element. 1317 */ 1318 public static final Nav nav(Object...children) { 1319 return new Nav(children); 1320 } 1321 1322 /** 1323 * Creates an empty {@link Noscript} element. 1324 * 1325 * @return The new element. 1326 */ 1327 public static final Noscript noscript() { 1328 return new Noscript(); 1329 } 1330 1331 /** 1332 * Creates a {@link Noscript} element with the specified child nodes. 1333 * 1334 * @param children The child nodes. 1335 * @return The new element. 1336 */ 1337 public static final Noscript noscript(Object...children) { 1338 return new Noscript(children); 1339 } 1340 1341 /** 1342 * Creates an empty {@link Object_} element. 1343 * 1344 * @return The new element. 1345 */ 1346 public static final Object_ object() { 1347 return new Object_(); 1348 } 1349 1350 /** 1351 * Creates an {@link Object_} element with the specified child nodes. 1352 * 1353 * @param children The child nodes. 1354 * @return The new element. 1355 */ 1356 public static final Object_ object(Object...children) { 1357 return new Object_(children); 1358 } 1359 1360 /** 1361 * Creates an empty {@link Ol} element. 1362 * 1363 * @return The new element. 1364 */ 1365 public static final Ol ol() { 1366 return new Ol(); 1367 } 1368 1369 /** 1370 * Creates an {@link Ol} element with the specified child nodes. 1371 * 1372 * @param children The child nodes. 1373 * @return The new element. 1374 */ 1375 public static final Ol ol(Object...children) { 1376 return new Ol(children); 1377 } 1378 1379 /** 1380 * Creates an empty {@link Optgroup} element. 1381 * 1382 * @return The new element. 1383 */ 1384 public static final Optgroup optgroup() { 1385 return new Optgroup(); 1386 } 1387 1388 /** 1389 * Creates an {@link Optgroup} element with the specified child nodes. 1390 * 1391 * @param children The child nodes. 1392 * @return The new element. 1393 */ 1394 public static final Optgroup optgroup(Object...children) { 1395 return new Optgroup(children); 1396 } 1397 1398 /** 1399 * Creates an empty {@link Option} element. 1400 * 1401 * @return The new element. 1402 */ 1403 public static final Option option() { 1404 return new Option(); 1405 } 1406 1407 /** 1408 * Creates an {@link Option} element with the specified {@link Option#text(Object)} attribute. 1409 * 1410 * @param text The {@link Option#text(Object)} attribute. 1411 * @return The new element. 1412 */ 1413 public static final Option option(Object text) { 1414 return new Option(text); 1415 } 1416 1417 /** 1418 * Creates an {@link Option} element with the specified {@link Option#value(Object)} attribute and 1419 * {@link Option#text(Object)} node. 1420 * 1421 * @param value The {@link Option#value(Object)} attribute. 1422 * @param text The {@link Option#text(Object)} node. 1423 * @return The new element. 1424 */ 1425 public static final Option option(Object value, Object text) { 1426 return new Option(value, text); 1427 } 1428 1429 /** 1430 * Creates an empty {@link Output} element. 1431 * 1432 * @return The new element. 1433 */ 1434 public static final Output output() { 1435 return new Output(); 1436 } 1437 1438 /** 1439 * Creates an {@link Output} element with the specified {@link Output#name(String)} attribute. 1440 * 1441 * @param name The {@link Output#name(String)} attribute. 1442 * @return The new element. 1443 */ 1444 public static final Output output(String name) { 1445 return new Output(name); 1446 } 1447 1448 /** 1449 * Creates an empty {@link P} element. 1450 * 1451 * @return The new element. 1452 */ 1453 public static final P p() { 1454 return new P(); 1455 } 1456 1457 /** 1458 * Creates a {@link P} element with the specified child nodes. 1459 * 1460 * @param children The child nodes. 1461 * @return The new element. 1462 */ 1463 public static final P p(Object...children) { 1464 return new P(children); 1465 } 1466 1467 /** 1468 * Creates an empty {@link Param} element. 1469 * 1470 * @return The new element. 1471 */ 1472 public static final Param param() { 1473 return new Param(); 1474 } 1475 1476 /** 1477 * Creates a {@link Param} element with the specified {@link Param#name(String)} and {@link Param#value(Object)} 1478 * attributes. 1479 * 1480 * @param name The {@link Param#name(String)} attribute. 1481 * @param value The {@link Param#value(Object)} attribute. 1482 * @return The new element. 1483 */ 1484 public static final Param param(String name, Object value) { 1485 return new Param(name, value); 1486 } 1487 1488 /** 1489 * Creates an empty {@link Pre} element. 1490 * 1491 * @return The new element. 1492 */ 1493 public static final Pre pre() { 1494 return new Pre(); 1495 } 1496 1497 /** 1498 * Creates a {@link Pre} element with the specified child nodes. 1499 * 1500 * @param children The child nodes. 1501 * @return The new element. 1502 */ 1503 public static final Pre pre(Object...children) { 1504 return new Pre(children); 1505 } 1506 1507 /** 1508 * Creates an empty {@link Progress} element. 1509 * 1510 * @return The new element. 1511 */ 1512 public static final Progress progress() { 1513 return new Progress(); 1514 } 1515 1516 /** 1517 * Creates a {@link Progress} element with the specified child nodes. 1518 * 1519 * @param children The child nodes. 1520 * @return The new element. 1521 */ 1522 public static final Progress progress(Object...children) { 1523 return new Progress(children); 1524 } 1525 1526 /** 1527 * Creates an empty {@link Q} element. 1528 * 1529 * @return The new element. 1530 */ 1531 public static final Q q() { 1532 return new Q(); 1533 } 1534 1535 /** 1536 * Creates a {@link Q} element with the specified child nodes. 1537 * 1538 * @param children The child nodes. 1539 * @return The new element. 1540 */ 1541 public static final Q q(Object...children) { 1542 return new Q(children); 1543 } 1544 1545 /** 1546 * Creates an empty {@link Rb} element. 1547 * 1548 * @return The new element. 1549 */ 1550 public static final Rb rb() { 1551 return new Rb(); 1552 } 1553 1554 /** 1555 * Creates a {@link Rb} element with the specified {@link Rb#children(Object[])} nodes. 1556 * 1557 * @param children The {@link Rb#children(Object[])} nodes. 1558 * @return The new element. 1559 */ 1560 public static final Rb rb(Object...children) { 1561 return new Rb(children); 1562 } 1563 1564 /** 1565 * Creates an empty {@link Rp} element. 1566 * 1567 * @return The new element. 1568 */ 1569 public static final Rp rp() { 1570 return new Rp(); 1571 } 1572 1573 /** 1574 * Creates a {@link Rp} element with the specified {@link Rp#children(Object[])} nodes. 1575 * 1576 * @param children The {@link Rp#children(Object[])} nodes. 1577 * @return The new element. 1578 */ 1579 public static final Rp rp(Object...children) { 1580 return new Rp(children); 1581 } 1582 1583 /** 1584 * Creates an empty {@link Rt} element. 1585 * 1586 * @return The new element. 1587 */ 1588 public static final Rt rt() { 1589 return new Rt(); 1590 } 1591 1592 /** 1593 * Creates a {@link Rt} element with the specified {@link Rt#children(Object[])} nodes. 1594 * 1595 * @param children The {@link Rt#children(Object[])} nodes. 1596 * @return The new element. 1597 */ 1598 public static final Rt rt(Object...children) { 1599 return new Rt(children); 1600 } 1601 1602 /** 1603 * Creates an empty {@link Rtc} element. 1604 * 1605 * @return The new element. 1606 */ 1607 public static final Rtc rtc() { 1608 return new Rtc(); 1609 } 1610 1611 /** 1612 * Creates an {@link Rtc} element with the specified child nodes. 1613 * 1614 * @param children The child nodes. 1615 * @return The new element. 1616 */ 1617 public static final Rtc rtc(Object...children) { 1618 return new Rtc(children); 1619 } 1620 1621 /** 1622 * Creates an empty {@link Ruby} element. 1623 * 1624 * @return The new element. 1625 */ 1626 public static final Ruby ruby() { 1627 return new Ruby(); 1628 } 1629 1630 /** 1631 * Creates a {@link Ruby} element with the specified child nodes. 1632 * 1633 * @param children The child nodes. 1634 * @return The new element. 1635 */ 1636 public static final Ruby ruby(Object...children) { 1637 return new Ruby(children); 1638 } 1639 1640 /** 1641 * Creates an empty {@link S} element. 1642 * 1643 * @return The new element. 1644 */ 1645 public static final S s() { 1646 return new S(); 1647 } 1648 1649 /** 1650 * Creates an {@link S} element with the specified child nodes. 1651 * 1652 * @param children The child nodes. 1653 * @return The new element. 1654 */ 1655 public static final S s(Object...children) { 1656 return new S(children); 1657 } 1658 1659 /** 1660 * Creates an empty {@link Samp} element. 1661 * 1662 * @return The new element. 1663 */ 1664 public static final Samp samp() { 1665 return new Samp(); 1666 } 1667 1668 /** 1669 * Creates a {@link Samp} element with the specified child nodes. 1670 * 1671 * @param children The child nodes. 1672 * @return The new element. 1673 */ 1674 public static final Samp samp(Object...children) { 1675 return new Samp(children); 1676 } 1677 1678 /** 1679 * Creates an empty {@link Script} element. 1680 * 1681 * @return The new element. 1682 */ 1683 public static final Script script() { 1684 return new Script(); 1685 } 1686 1687 /** 1688 * Creates a {@link Script} element with the specified {@link Script#type(String)} attribute and 1689 * {@link Script#text(Object)} node. 1690 * 1691 * @param type The {@link Script#type(String)} attribute. 1692 * @param text The child text node. 1693 * @return The new element. 1694 */ 1695 public static final Script script(String type, String...text) { 1696 return new Script(type, text); 1697 } 1698 1699 /** 1700 * Creates an empty {@link Section} element. 1701 * 1702 * @return The new element. 1703 */ 1704 public static final Section section() { 1705 return new Section(); 1706 } 1707 1708 /** 1709 * Creates a {@link Section} element with the specified child nodes. 1710 * 1711 * @param children The child nodes. 1712 * @return The new element. 1713 */ 1714 public static final Section section(Object...children) { 1715 return new Section(children); 1716 } 1717 1718 /** 1719 * Creates an empty {@link Select} element. 1720 * 1721 * @return The new element. 1722 */ 1723 public static final Select select() { 1724 return new Select(); 1725 } 1726 1727 /** 1728 * Creates a {@link Select} element with the specified {@link Select#name(String)} attribute and child nodes. 1729 * 1730 * @param name The {@link Select#name(String)} attribute. 1731 * @param children The child nodes. 1732 * @return The new element. 1733 */ 1734 public static final Select select(String name, Object...children) { 1735 return new Select(name, children); 1736 } 1737 1738 /** 1739 * Creates an empty {@link Small} element. 1740 * 1741 * @return The new element. 1742 */ 1743 public static final Small small() { 1744 return new Small(); 1745 } 1746 1747 /** 1748 * Creates a {@link Small} element with the specified child nodes. 1749 * 1750 * @param children The child nodes. 1751 * @return The new element. 1752 */ 1753 public static final Small small(Object...children) { 1754 return new Small(children); 1755 } 1756 1757 /** 1758 * Creates an empty {@link Source} element. 1759 * 1760 * @return The new element. 1761 */ 1762 public static final Source source() { 1763 return new Source(); 1764 } 1765 1766 /** 1767 * Creates a {@link Source} element with the specified {@link Source#src(Object)} and {@link Source#type(String)} 1768 * attributes. 1769 * 1770 * @param src The {@link Source#src(Object)} attribute. 1771 * @param type The {@link Source#type(String)} attribute. 1772 * @return The new element. 1773 */ 1774 public static final Source source(Object src, String type) { 1775 return new Source(src, type); 1776 } 1777 1778 /** 1779 * Creates an empty {@link Span} element. 1780 * 1781 * @return The new element. 1782 */ 1783 public static final Span span() { 1784 return new Span(); 1785 } 1786 1787 /** 1788 * Creates a {@link Span} element with the specified child nodes. 1789 * 1790 * @param children The child nodes. 1791 * @return The new element. 1792 */ 1793 public static final Span span(Object...children) { 1794 return new Span(children); 1795 } 1796 1797 /** 1798 * Creates an empty {@link Strong} element. 1799 * 1800 * @return The new element. 1801 */ 1802 public static final Strong strong() { 1803 return new Strong(); 1804 } 1805 1806 /** 1807 * Creates a {@link Strong} element with the specified child nodes. 1808 * 1809 * @param children The child nodes. 1810 * @return The new element. 1811 */ 1812 public static final Strong strong(Object...children) { 1813 return new Strong(children); 1814 } 1815 1816 /** 1817 * Creates an empty {@link Style} element. 1818 * 1819 * @return The new element. 1820 */ 1821 public static final Style style() { 1822 return new Style(); 1823 } 1824 1825 /** 1826 * Creates a {@link Style} element with the specified {@link Style#text(Object)} node. 1827 * 1828 * @param text The {@link Style#text(Object)} node. 1829 * @return The new element. 1830 */ 1831 public static final Style style(Object text) { 1832 return new Style(text); 1833 } 1834 1835 /** 1836 * Creates a {@link Style} element with the specified inner text. 1837 * 1838 * @param text 1839 * The contents of the style element. 1840 * <br>Values will be concatenated with newlines. 1841 * @return The new element. 1842 */ 1843 public static final Style style(String...text) { 1844 return new Style(text); 1845 } 1846 1847 /** 1848 * Creates an empty {@link Sub} element. 1849 * 1850 * @return The new element. 1851 */ 1852 public static final Sub sub() { 1853 return new Sub(); 1854 } 1855 1856 /** 1857 * Creates a {@link Sub} element with the specified child nodes. 1858 * 1859 * @param children The child nodes. 1860 * @return The new element. 1861 */ 1862 public static final Sub sub(Object...children) { 1863 return new Sub(children); 1864 } 1865 1866 /** 1867 * Creates an empty {@link Sup} element. 1868 * 1869 * @return The new element. 1870 */ 1871 public static final Sup sup() { 1872 return new Sup(); 1873 } 1874 1875 /** 1876 * Creates a {@link Sup} element with the specified child nodes. 1877 * 1878 * @param children The child nodes. 1879 * @return The new element. 1880 */ 1881 public static final Sup sup(Object...children) { 1882 return new Sup(children); 1883 } 1884 1885 /** 1886 * Creates an empty {@link Table} element. 1887 * 1888 * @return The new element. 1889 */ 1890 public static final Table table() { 1891 return new Table(); 1892 } 1893 1894 /** 1895 * Creates a {@link Table} element with the specified child nodes. 1896 * 1897 * @param children The child nodes. 1898 * @return The new element. 1899 */ 1900 public static final Table table(Object...children) { 1901 return new Table(children); 1902 } 1903 1904 /** 1905 * Creates an empty {@link Tbody} element. 1906 * 1907 * @return The new element. 1908 */ 1909 public static final Tbody tbody() { 1910 return new Tbody(); 1911 } 1912 1913 /** 1914 * Creates a {@link Tbody} element with the specified child nodes. 1915 * 1916 * @param children The child nodes. 1917 * @return The new element. 1918 */ 1919 public static final Tbody tbody(Object...children) { 1920 return new Tbody(children); 1921 } 1922 1923 /** 1924 * Creates an empty {@link Td} element. 1925 * 1926 * @return The new element. 1927 */ 1928 public static final Td td() { 1929 return new Td(); 1930 } 1931 1932 /** 1933 * Creates a {@link Td} element with the specified child nodes. 1934 * 1935 * @param children The child nodes. 1936 * @return The new element. 1937 */ 1938 public static final Td td(Object...children) { 1939 return new Td(children); 1940 } 1941 1942 /** 1943 * Creates an empty {@link Template} element. 1944 * 1945 * @return The new element. 1946 */ 1947 public static final Template template() { 1948 return new Template(); 1949 } 1950 1951 /** 1952 * Creates a {@link Template} element with the specified {@link Template#id(String)} attribute and child nodes. 1953 * 1954 * @param id The {@link Template#id(String)} attribute. 1955 * @param children The child nodes. 1956 * @return The new element. 1957 */ 1958 public static final Template template(String id, Object...children) { 1959 return new Template(id, children); 1960 } 1961 1962 /** 1963 * Creates an empty {@link Textarea} element. 1964 * 1965 * @return The new element. 1966 */ 1967 public static final Textarea textarea() { 1968 return new Textarea(); 1969 } 1970 1971 /** 1972 * Creates a {@link Textarea} element with the specified {@link Textarea#name(String)} attribute and 1973 * {@link Textarea#text(Object)} node. 1974 * 1975 * @param name The {@link Textarea#name(String)} attribute. 1976 * @param text The {@link Textarea#text(Object)} node. 1977 * @return The new element. 1978 */ 1979 public static final Textarea textarea(String name, String text) { 1980 return new Textarea(name, text); 1981 } 1982 1983 /** 1984 * Creates an empty {@link Tfoot} element. 1985 * 1986 * @return The new element. 1987 */ 1988 public static final Tfoot tfoot() { 1989 return new Tfoot(); 1990 } 1991 1992 /** 1993 * Creates a {@link Tfoot} element with the specified child nodes. 1994 * 1995 * @param children The child nodes. 1996 * @return The new element. 1997 */ 1998 public static final Tfoot tfoot(Object...children) { 1999 return new Tfoot(children); 2000 } 2001 2002 /** 2003 * Creates an empty {@link Th} element. 2004 * 2005 * @return The new element. 2006 */ 2007 public static final Th th() { 2008 return new Th(); 2009 } 2010 2011 /** 2012 * Creates a {@link Th} element with the specified child nodes. 2013 * 2014 * @param children The child nodes. 2015 * @return The new element. 2016 */ 2017 public static final Th th(Object...children) { 2018 return new Th(children); 2019 } 2020 2021 /** 2022 * Creates an empty {@link Thead} element. 2023 * 2024 * @return The new element. 2025 */ 2026 public static final Thead thead() { 2027 return new Thead(); 2028 } 2029 2030 /** 2031 * Creates a {@link Thead} element with the specified child nodes. 2032 * 2033 * @param children The child nodes. 2034 * @return The new element. 2035 */ 2036 public static final Thead thead(Object...children) { 2037 return new Thead(children); 2038 } 2039 2040 /** 2041 * Creates an empty {@link Time} element. 2042 * 2043 * @return The new element. 2044 */ 2045 public static final Time time() { 2046 return new Time(); 2047 } 2048 2049 /** 2050 * Creates a {@link Time} element with the specified {@link Time#children(Object[])} nodes. 2051 * 2052 * @param children The {@link Time#children(Object[])} nodes. 2053 * @return The new element. 2054 */ 2055 public static final Time time(Object...children) { 2056 return new Time(children); 2057 } 2058 2059 /** 2060 * Creates an empty {@link Title} element. 2061 * 2062 * @return The new element. 2063 */ 2064 public static final Title title() { 2065 return new Title(); 2066 } 2067 2068 /** 2069 * Creates a {@link Title} element with the specified {@link Title#text(Object)} node. 2070 * 2071 * @param text The {@link Title#text(Object)} node. 2072 * @return The new element. 2073 */ 2074 public static final Title title(String text) { 2075 return new Title(text); 2076 } 2077 2078 /** 2079 * Creates an empty {@link Tr} element. 2080 * 2081 * @return The new element. 2082 */ 2083 public static final Tr tr() { 2084 return new Tr(); 2085 } 2086 2087 /** 2088 * Creates a {@link Tr} element with the specified child nodes. 2089 * 2090 * @param children The child nodes. 2091 * @return The new element. 2092 */ 2093 public static final Tr tr(Object...children) { 2094 return new Tr(children); 2095 } 2096 2097 /** 2098 * Creates an empty {@link Track} element. 2099 * 2100 * @return The new element. 2101 */ 2102 public static final Track track() { 2103 return new Track(); 2104 } 2105 2106 /** 2107 * Creates a {@link Track} element with the specified {@link Track#src(Object)} and {@link Track#kind(String)} 2108 * attributes. 2109 * 2110 * @param src The {@link Track#src(Object)} attribute. 2111 * @param kind The {@link Track#kind(String)} attribute. 2112 * @return The new element. 2113 */ 2114 public static final Track track(Object src, String kind) { 2115 return new Track(src, kind); 2116 } 2117 2118 /** 2119 * Creates an empty {@link U} element. 2120 * 2121 * @return The new element. 2122 */ 2123 public static final U u() { 2124 return new U(); 2125 } 2126 2127 /** 2128 * Creates a {@link U} element with the specified child nodes. 2129 * 2130 * @param children The child nodes. 2131 * @return The new element. 2132 */ 2133 public static final U u(Object...children) { 2134 return new U(children); 2135 } 2136 2137 /** 2138 * Creates an empty {@link Ul} element. 2139 * 2140 * @return The new element. 2141 */ 2142 public static final Ul ul() { 2143 return new Ul(); 2144 } 2145 2146 /** 2147 * Creates a {@link Ul} element with the specified child nodes. 2148 * 2149 * @param children The child nodes. 2150 * @return The new element. 2151 */ 2152 public static final Ul ul(Object...children) { 2153 return new Ul(children); 2154 } 2155 2156 /** 2157 * Creates an empty {@link Var} element. 2158 * 2159 * @return The new element. 2160 */ 2161 public static final Var var() { 2162 return new Var(); 2163 } 2164 2165 /** 2166 * Creates a {@link Var} element with the specified child nodes. 2167 * 2168 * @param children The child nodes. 2169 * @return The new element. 2170 */ 2171 public static final Var var(Object...children) { 2172 return new Var(children); 2173 } 2174 2175 /** 2176 * Creates an empty {@link Video} element. 2177 * 2178 * @return The new element. 2179 */ 2180 public static final Video video() { 2181 return new Video(); 2182 } 2183 2184 /** 2185 * Creates a {@link Video} element with the specified {@link Video#src(Object)} attribute. 2186 * 2187 * @param src The {@link Video#src(Object)} attribute. 2188 * @return The new element. 2189 */ 2190 public static final Video video(Object src) { 2191 return new Video(src); 2192 } 2193 2194 /** 2195 * Creates an empty {@link Wbr} element. 2196 * 2197 * @return The new element. 2198 */ 2199 public static final Wbr wbr() { 2200 return new Wbr(); 2201 } 2202 2203 /** 2204 * Constructor. 2205 */ 2206 protected HtmlBuilder() {} 2207}