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