001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache License, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.apache.juneau.bean.html5; 018 019import org.apache.juneau.annotation.*; 020 021/** 022 * DTO for an HTML <a class="doclink" href="https://www.w3.org/TR/html5/document-metadata.html#the-meta-element"><meta></a> 023 * element. 024 * 025 * <p> 026 * The meta element represents metadata about the document. It provides information about the document 027 * that is not displayed to users but is used by browsers, search engines, and other web services. 028 * Common uses include character encoding, viewport settings, SEO information, and social media tags. 029 * 030 * <h5 class='section'>Examples:</h5> 031 * <p class='bcode w800'> 032 * // Character encoding 033 * Meta meta1 = meta().charset("utf-8"); 034 * 035 * // Viewport for responsive design 036 * Meta meta2 = meta() 037 * .name("viewport") 038 * .content("width=device-width, initial-scale=1.0"); 039 * 040 * // SEO description 041 * Meta meta3 = meta() 042 * .name("description") 043 * .content("This is a sample web page with meta information"); 044 * 045 * // Open Graph tags for social media 046 * Meta meta4 = meta() 047 * .property("og:title") 048 * .content("My Web Page"); 049 * 050 * // HTTP-equiv for cache control 051 * Meta meta5 = meta() 052 * .httpequiv("Cache-Control") 053 * .content("no-cache, no-store, must-revalidate"); 054 * </p> 055 * 056 * <p> 057 * The following convenience methods are provided for constructing instances of this bean: 058 * <ul class='javatree'> 059 * <li class='jc'>{@link HtmlBuilder} 060 * <ul class='javatree'> 061 * <li class='jm'>{@link HtmlBuilder#meta() meta()} 062 * </ul> 063 * </ul> 064 * </p> 065 * 066 * <h5 class='section'>See Also:</h5><ul> 067 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 068 * </ul> 069 */ 070@Bean(typeName = "meta") 071public class Meta extends HtmlElementVoid { 072 073 /** 074 * Creates an empty {@link Meta} element. 075 */ 076 public Meta() { /* Empty constructor. */ } 077 078 @Override /* Overridden from HtmlElement */ 079 public Meta _class(String value) { // NOSONAR - Intentional naming. 080 super._class(value); 081 return this; 082 } 083 084 @Override /* Overridden from HtmlElement */ 085 public Meta accesskey(String value) { 086 super.accesskey(value); 087 return this; 088 } 089 090 @Override /* Overridden from HtmlElement */ 091 public Meta attr(String key, Object val) { 092 super.attr(key, val); 093 return this; 094 } 095 096 @Override /* Overridden from HtmlElement */ 097 public Meta attrUri(String key, Object val) { 098 super.attrUri(key, val); 099 return this; 100 } 101 102 /** 103 * <a class="doclink" href="https://www.w3.org/TR/html5/document-metadata.html#attr-meta-charset">charset</a> 104 * attribute. 105 * 106 * <p> 107 * Specifies the character encoding for the HTML document. Should be placed early in the document head. 108 * 109 * <p> 110 * Common values: 111 * <ul> 112 * <li><js>"UTF-8"</js> - Unicode UTF-8 encoding (recommended)</li> 113 * <li><js>"ISO-8859-1"</js> - Latin-1 encoding</li> 114 * <li><js>"windows-1252"</js> - Windows-1252 encoding</li> 115 * </ul> 116 * 117 * @param value The character encoding for the document. 118 * @return This object. 119 */ 120 public Meta charset(String value) { 121 attr("charset", value); 122 return this; 123 } 124 125 /** 126 * <a class="doclink" href="https://www.w3.org/TR/html5/document-metadata.html#attr-meta-content">content</a> 127 * attribute. 128 * 129 * <p> 130 * Specifies the value associated with the name or http-equiv attribute. 131 * The content varies depending on the type of metadata being defined. 132 * 133 * @param value The metadata value (e.g., description text, viewport settings, etc.). 134 * @return This object. 135 */ 136 public Meta content(String value) { 137 attr("content", value); 138 return this; 139 } 140 141 @Override /* Overridden from HtmlElement */ 142 public Meta contenteditable(Object value) { 143 super.contenteditable(value); 144 return this; 145 } 146 147 @Override /* Overridden from HtmlElement */ 148 public Meta dir(String value) { 149 super.dir(value); 150 return this; 151 } 152 153 @Override /* Overridden from HtmlElement */ 154 public Meta hidden(Object value) { 155 super.hidden(value); 156 return this; 157 } 158 159 /** 160 * <a class="doclink" href="https://www.w3.org/TR/html5/document-metadata.html#attr-meta-http-equiv">http-equiv</a> 161 * attribute. 162 * 163 * <p> 164 * Specifies a pragma directive that simulates an HTTP header. Used with the content attribute. 165 * 166 * <p> 167 * Common values: 168 * <ul> 169 * <li><js>"content-type"</js> - Document content type and character encoding</li> 170 * <li><js>"refresh"</js> - Page refresh or redirect timing</li> 171 * <li><js>"expires"</js> - Document expiration date</li> 172 * <li><js>"cache-control"</js> - Caching directives</li> 173 * <li><js>"pragma"</js> - Cache control (legacy)</li> 174 * <li><js>"set-cookie"</js> - Cookie settings</li> 175 * <li><js>"x-ua-compatible"</js> - Browser compatibility mode</li> 176 * </ul> 177 * 178 * @param value The HTTP header name to simulate. 179 * @return This object. 180 */ 181 public Meta httpequiv(String value) { 182 attr("http-equiv", value); 183 return this; 184 } 185 186 @Override /* Overridden from HtmlElement */ 187 public Meta id(String value) { 188 super.id(value); 189 return this; 190 } 191 192 @Override /* Overridden from HtmlElement */ 193 public Meta lang(String value) { 194 super.lang(value); 195 return this; 196 } 197 198 /** 199 * <a class="doclink" href="https://www.w3.org/TR/html5/document-metadata.html#attr-meta-name">name</a> attribute. 200 * 201 * <p> 202 * Specifies the name of the metadata property. Used with the content attribute to define document metadata. 203 * 204 * <p> 205 * Common values: 206 * <ul> 207 * <li><js>"description"</js> - Page description for search engines</li> 208 * <li><js>"keywords"</js> - Keywords for search engines</li> 209 * <li><js>"author"</js> - Page author</li> 210 * <li><js>"viewport"</js> - Viewport settings for mobile devices</li> 211 * <li><js>"robots"</js> - Instructions for search engine crawlers</li> 212 * </ul> 213 * 214 * @param value The name of the metadata property. 215 * @return This object. 216 */ 217 public Meta name(String value) { 218 attr("name", value); 219 return this; 220 } 221 222 @Override /* Overridden from HtmlElement */ 223 public Meta onabort(String value) { 224 super.onabort(value); 225 return this; 226 } 227 228 @Override /* Overridden from HtmlElement */ 229 public Meta onblur(String value) { 230 super.onblur(value); 231 return this; 232 } 233 234 @Override /* Overridden from HtmlElement */ 235 public Meta oncancel(String value) { 236 super.oncancel(value); 237 return this; 238 } 239 240 @Override /* Overridden from HtmlElement */ 241 public Meta oncanplay(String value) { 242 super.oncanplay(value); 243 return this; 244 } 245 246 @Override /* Overridden from HtmlElement */ 247 public Meta oncanplaythrough(String value) { 248 super.oncanplaythrough(value); 249 return this; 250 } 251 252 @Override /* Overridden from HtmlElement */ 253 public Meta onchange(String value) { 254 super.onchange(value); 255 return this; 256 } 257 258 @Override /* Overridden from HtmlElement */ 259 public Meta onclick(String value) { 260 super.onclick(value); 261 return this; 262 } 263 264 @Override /* Overridden from HtmlElement */ 265 public Meta oncuechange(String value) { 266 super.oncuechange(value); 267 return this; 268 } 269 270 @Override /* Overridden from HtmlElement */ 271 public Meta ondblclick(String value) { 272 super.ondblclick(value); 273 return this; 274 } 275 276 @Override /* Overridden from HtmlElement */ 277 public Meta ondurationchange(String value) { 278 super.ondurationchange(value); 279 return this; 280 } 281 282 @Override /* Overridden from HtmlElement */ 283 public Meta onemptied(String value) { 284 super.onemptied(value); 285 return this; 286 } 287 288 @Override /* Overridden from HtmlElement */ 289 public Meta onended(String value) { 290 super.onended(value); 291 return this; 292 } 293 294 @Override /* Overridden from HtmlElement */ 295 public Meta onerror(String value) { 296 super.onerror(value); 297 return this; 298 } 299 300 @Override /* Overridden from HtmlElement */ 301 public Meta onfocus(String value) { 302 super.onfocus(value); 303 return this; 304 } 305 306 @Override /* Overridden from HtmlElement */ 307 public Meta oninput(String value) { 308 super.oninput(value); 309 return this; 310 } 311 312 @Override /* Overridden from HtmlElement */ 313 public Meta oninvalid(String value) { 314 super.oninvalid(value); 315 return this; 316 } 317 318 @Override /* Overridden from HtmlElement */ 319 public Meta onkeydown(String value) { 320 super.onkeydown(value); 321 return this; 322 } 323 324 @Override /* Overridden from HtmlElement */ 325 public Meta onkeypress(String value) { 326 super.onkeypress(value); 327 return this; 328 } 329 330 @Override /* Overridden from HtmlElement */ 331 public Meta onkeyup(String value) { 332 super.onkeyup(value); 333 return this; 334 } 335 336 @Override /* Overridden from HtmlElement */ 337 public Meta onload(String value) { 338 super.onload(value); 339 return this; 340 } 341 342 @Override /* Overridden from HtmlElement */ 343 public Meta onloadeddata(String value) { 344 super.onloadeddata(value); 345 return this; 346 } 347 348 @Override /* Overridden from HtmlElement */ 349 public Meta onloadedmetadata(String value) { 350 super.onloadedmetadata(value); 351 return this; 352 } 353 354 @Override /* Overridden from HtmlElement */ 355 public Meta onloadstart(String value) { 356 super.onloadstart(value); 357 return this; 358 } 359 360 @Override /* Overridden from HtmlElement */ 361 public Meta onmousedown(String value) { 362 super.onmousedown(value); 363 return this; 364 } 365 366 @Override /* Overridden from HtmlElement */ 367 public Meta onmouseenter(String value) { 368 super.onmouseenter(value); 369 return this; 370 } 371 372 @Override /* Overridden from HtmlElement */ 373 public Meta onmouseleave(String value) { 374 super.onmouseleave(value); 375 return this; 376 } 377 378 @Override /* Overridden from HtmlElement */ 379 public Meta onmousemove(String value) { 380 super.onmousemove(value); 381 return this; 382 } 383 384 @Override /* Overridden from HtmlElement */ 385 public Meta onmouseout(String value) { 386 super.onmouseout(value); 387 return this; 388 } 389 390 @Override /* Overridden from HtmlElement */ 391 public Meta onmouseover(String value) { 392 super.onmouseover(value); 393 return this; 394 } 395 396 @Override /* Overridden from HtmlElement */ 397 public Meta onmouseup(String value) { 398 super.onmouseup(value); 399 return this; 400 } 401 402 @Override /* Overridden from HtmlElement */ 403 public Meta onmousewheel(String value) { 404 super.onmousewheel(value); 405 return this; 406 } 407 408 @Override /* Overridden from HtmlElement */ 409 public Meta onpause(String value) { 410 super.onpause(value); 411 return this; 412 } 413 414 @Override /* Overridden from HtmlElement */ 415 public Meta onplay(String value) { 416 super.onplay(value); 417 return this; 418 } 419 420 @Override /* Overridden from HtmlElement */ 421 public Meta onplaying(String value) { 422 super.onplaying(value); 423 return this; 424 } 425 426 @Override /* Overridden from HtmlElement */ 427 public Meta onprogress(String value) { 428 super.onprogress(value); 429 return this; 430 } 431 432 @Override /* Overridden from HtmlElement */ 433 public Meta onratechange(String value) { 434 super.onratechange(value); 435 return this; 436 } 437 438 @Override /* Overridden from HtmlElement */ 439 public Meta onreset(String value) { 440 super.onreset(value); 441 return this; 442 } 443 444 @Override /* Overridden from HtmlElement */ 445 public Meta onresize(String value) { 446 super.onresize(value); 447 return this; 448 } 449 450 @Override /* Overridden from HtmlElement */ 451 public Meta onscroll(String value) { 452 super.onscroll(value); 453 return this; 454 } 455 456 @Override /* Overridden from HtmlElement */ 457 public Meta onseeked(String value) { 458 super.onseeked(value); 459 return this; 460 } 461 462 @Override /* Overridden from HtmlElement */ 463 public Meta onseeking(String value) { 464 super.onseeking(value); 465 return this; 466 } 467 468 @Override /* Overridden from HtmlElement */ 469 public Meta onselect(String value) { 470 super.onselect(value); 471 return this; 472 } 473 474 @Override /* Overridden from HtmlElement */ 475 public Meta onshow(String value) { 476 super.onshow(value); 477 return this; 478 } 479 480 @Override /* Overridden from HtmlElement */ 481 public Meta onstalled(String value) { 482 super.onstalled(value); 483 return this; 484 } 485 486 @Override /* Overridden from HtmlElement */ 487 public Meta onsubmit(String value) { 488 super.onsubmit(value); 489 return this; 490 } 491 492 @Override /* Overridden from HtmlElement */ 493 public Meta onsuspend(String value) { 494 super.onsuspend(value); 495 return this; 496 } 497 498 @Override /* Overridden from HtmlElement */ 499 public Meta ontimeupdate(String value) { 500 super.ontimeupdate(value); 501 return this; 502 } 503 504 @Override /* Overridden from HtmlElement */ 505 public Meta ontoggle(String value) { 506 super.ontoggle(value); 507 return this; 508 } 509 510 @Override /* Overridden from HtmlElement */ 511 public Meta onvolumechange(String value) { 512 super.onvolumechange(value); 513 return this; 514 } 515 516 @Override /* Overridden from HtmlElement */ 517 public Meta onwaiting(String value) { 518 super.onwaiting(value); 519 return this; 520 } 521 522 @Override /* Overridden from HtmlElement */ 523 public Meta spellcheck(Object value) { 524 super.spellcheck(value); 525 return this; 526 } 527 528 @Override /* Overridden from HtmlElement */ 529 public Meta style(String value) { 530 super.style(value); 531 return this; 532 } 533 534 @Override /* Overridden from HtmlElement */ 535 public Meta tabindex(Object value) { 536 super.tabindex(value); 537 return this; 538 } 539 540 @Override /* Overridden from HtmlElement */ 541 public Meta title(String value) { 542 super.title(value); 543 return this; 544 } 545 546 @Override /* Overridden from HtmlElement */ 547 public Meta translate(Object value) { 548 super.translate(value); 549 return this; 550 } 551}