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 java.net.*; 020 021import org.apache.juneau.*; 022import org.apache.juneau.annotation.*; 023 024/** 025 * DTO for an HTML <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#the-embed-element"><embed></a> 026 * element. 027 * 028 * <p> 029 * The embed element represents an integration point for an external application or interactive content. 030 * It is used to embed content such as Flash applications, PDF documents, or other multimedia content 031 * that requires a plugin or external application to display. 032 * 033 * <h5 class='section'>Examples:</h5> 034 * <p class='bcode w800'> 035 * <jk>import static</jk> org.apache.juneau.bean.html5.HtmlBuilder.*; 036 * 037 * <jc>// Embed a PDF document</jc> 038 * Embed <jv>embed1</jv> = <jsm>embed</jsm>() 039 * .src(<js>"document.pdf"</js>) 040 * .type(<js>"application/pdf"</js>) 041 * .width(<js>"800"</js>) 042 * .height(<js>"600"</js>); 043 * 044 * <jc>// Embed a Flash application</jc> 045 * Embed <jv>embed2</jv> = <jsm>embed</jsm>() 046 * .src(<js>"game.swf"</js>) 047 * .type(<js>"application/x-shockwave-flash"</js>) 048 * .width(<js>"640"</js>) 049 * .height(<js>"480"</js>); 050 * 051 * <jc>// Embed with fallback content</jc> 052 * Embed <jv>embed3</jv> = <jsm>embed</jsm>() 053 * .src(<js>"interactive-content.swf"</js>) 054 * .type(<js>"application/x-shockwave-flash"</js>) 055 * .children( 056 * <jsm>p</jsm>(<js>"Your browser does not support embedded content."</js>) 057 * ); 058 * </p> 059 * 060 * <p> 061 * The following convenience methods are provided for constructing instances of this bean: 062 * <ul class='javatree'> 063 * <li class='jc'>{@link HtmlBuilder} 064 * <ul class='javatree'> 065 * <li class='jm'>{@link HtmlBuilder#embed() embed()} 066 * </ul> 067 * </ul> 068 * </p> 069 * 070 * <h5 class='section'>See Also:</h5><ul> 071 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 072 * </ul> 073 */ 074@Bean(typeName = "embed") 075public class Embed extends HtmlElementVoid { 076 077 /** 078 * Creates an empty {@link Embed} element. 079 */ 080 public Embed() {} 081 082 /** 083 * Creates an {@link Embed} element with the specified {@link Embed#src(Object)} attribute. 084 * 085 * @param src The {@link Embed#src(Object)} attribute. 086 */ 087 public Embed(Object src) { 088 src(src); 089 } 090 091 @Override /* Overridden from HtmlElement */ 092 public Embed _class(String value) { // NOSONAR - Intentional naming. 093 super._class(value); 094 return this; 095 } 096 097 @Override /* Overridden from HtmlElement */ 098 public Embed accesskey(String value) { 099 super.accesskey(value); 100 return this; 101 } 102 103 @Override /* Overridden from HtmlElement */ 104 public Embed attr(String key, Object val) { 105 super.attr(key, val); 106 return this; 107 } 108 109 @Override /* Overridden from HtmlElement */ 110 public Embed attrUri(String key, Object val) { 111 super.attrUri(key, val); 112 return this; 113 } 114 115 @Override /* Overridden from HtmlElement */ 116 public Embed contenteditable(Object value) { 117 super.contenteditable(value); 118 return this; 119 } 120 121 @Override /* Overridden from HtmlElement */ 122 public Embed dir(String value) { 123 super.dir(value); 124 return this; 125 } 126 127 /** 128 * <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-height">height</a> 129 * attribute. 130 * 131 * <p> 132 * Vertical dimension. 133 * 134 * @param value 135 * The new value for this attribute. 136 * Typically a {@link Number} or {@link String}. 137 * @return This object. 138 */ 139 public Embed height(Object value) { 140 attr("height", value); 141 return this; 142 } 143 144 @Override /* Overridden from HtmlElement */ 145 public Embed hidden(Object value) { 146 super.hidden(value); 147 return this; 148 } 149 150 @Override /* Overridden from HtmlElement */ 151 public Embed id(String value) { 152 super.id(value); 153 return this; 154 } 155 156 @Override /* Overridden from HtmlElement */ 157 public Embed lang(String value) { 158 super.lang(value); 159 return this; 160 } 161 162 @Override /* Overridden from HtmlElement */ 163 public Embed onabort(String value) { 164 super.onabort(value); 165 return this; 166 } 167 168 @Override /* Overridden from HtmlElement */ 169 public Embed onblur(String value) { 170 super.onblur(value); 171 return this; 172 } 173 174 @Override /* Overridden from HtmlElement */ 175 public Embed oncancel(String value) { 176 super.oncancel(value); 177 return this; 178 } 179 180 @Override /* Overridden from HtmlElement */ 181 public Embed oncanplay(String value) { 182 super.oncanplay(value); 183 return this; 184 } 185 186 @Override /* Overridden from HtmlElement */ 187 public Embed oncanplaythrough(String value) { 188 super.oncanplaythrough(value); 189 return this; 190 } 191 192 @Override /* Overridden from HtmlElement */ 193 public Embed onchange(String value) { 194 super.onchange(value); 195 return this; 196 } 197 198 @Override /* Overridden from HtmlElement */ 199 public Embed onclick(String value) { 200 super.onclick(value); 201 return this; 202 } 203 204 @Override /* Overridden from HtmlElement */ 205 public Embed oncuechange(String value) { 206 super.oncuechange(value); 207 return this; 208 } 209 210 @Override /* Overridden from HtmlElement */ 211 public Embed ondblclick(String value) { 212 super.ondblclick(value); 213 return this; 214 } 215 216 @Override /* Overridden from HtmlElement */ 217 public Embed ondurationchange(String value) { 218 super.ondurationchange(value); 219 return this; 220 } 221 222 @Override /* Overridden from HtmlElement */ 223 public Embed onemptied(String value) { 224 super.onemptied(value); 225 return this; 226 } 227 228 @Override /* Overridden from HtmlElement */ 229 public Embed onended(String value) { 230 super.onended(value); 231 return this; 232 } 233 234 @Override /* Overridden from HtmlElement */ 235 public Embed onerror(String value) { 236 super.onerror(value); 237 return this; 238 } 239 240 @Override /* Overridden from HtmlElement */ 241 public Embed onfocus(String value) { 242 super.onfocus(value); 243 return this; 244 } 245 246 @Override /* Overridden from HtmlElement */ 247 public Embed oninput(String value) { 248 super.oninput(value); 249 return this; 250 } 251 252 @Override /* Overridden from HtmlElement */ 253 public Embed oninvalid(String value) { 254 super.oninvalid(value); 255 return this; 256 } 257 258 @Override /* Overridden from HtmlElement */ 259 public Embed onkeydown(String value) { 260 super.onkeydown(value); 261 return this; 262 } 263 264 @Override /* Overridden from HtmlElement */ 265 public Embed onkeypress(String value) { 266 super.onkeypress(value); 267 return this; 268 } 269 270 @Override /* Overridden from HtmlElement */ 271 public Embed onkeyup(String value) { 272 super.onkeyup(value); 273 return this; 274 } 275 276 @Override /* Overridden from HtmlElement */ 277 public Embed onload(String value) { 278 super.onload(value); 279 return this; 280 } 281 282 @Override /* Overridden from HtmlElement */ 283 public Embed onloadeddata(String value) { 284 super.onloadeddata(value); 285 return this; 286 } 287 288 @Override /* Overridden from HtmlElement */ 289 public Embed onloadedmetadata(String value) { 290 super.onloadedmetadata(value); 291 return this; 292 } 293 294 @Override /* Overridden from HtmlElement */ 295 public Embed onloadstart(String value) { 296 super.onloadstart(value); 297 return this; 298 } 299 300 @Override /* Overridden from HtmlElement */ 301 public Embed onmousedown(String value) { 302 super.onmousedown(value); 303 return this; 304 } 305 306 @Override /* Overridden from HtmlElement */ 307 public Embed onmouseenter(String value) { 308 super.onmouseenter(value); 309 return this; 310 } 311 312 @Override /* Overridden from HtmlElement */ 313 public Embed onmouseleave(String value) { 314 super.onmouseleave(value); 315 return this; 316 } 317 318 @Override /* Overridden from HtmlElement */ 319 public Embed onmousemove(String value) { 320 super.onmousemove(value); 321 return this; 322 } 323 324 @Override /* Overridden from HtmlElement */ 325 public Embed onmouseout(String value) { 326 super.onmouseout(value); 327 return this; 328 } 329 330 @Override /* Overridden from HtmlElement */ 331 public Embed onmouseover(String value) { 332 super.onmouseover(value); 333 return this; 334 } 335 336 @Override /* Overridden from HtmlElement */ 337 public Embed onmouseup(String value) { 338 super.onmouseup(value); 339 return this; 340 } 341 342 @Override /* Overridden from HtmlElement */ 343 public Embed onmousewheel(String value) { 344 super.onmousewheel(value); 345 return this; 346 } 347 348 @Override /* Overridden from HtmlElement */ 349 public Embed onpause(String value) { 350 super.onpause(value); 351 return this; 352 } 353 354 @Override /* Overridden from HtmlElement */ 355 public Embed onplay(String value) { 356 super.onplay(value); 357 return this; 358 } 359 360 @Override /* Overridden from HtmlElement */ 361 public Embed onplaying(String value) { 362 super.onplaying(value); 363 return this; 364 } 365 366 @Override /* Overridden from HtmlElement */ 367 public Embed onprogress(String value) { 368 super.onprogress(value); 369 return this; 370 } 371 372 @Override /* Overridden from HtmlElement */ 373 public Embed onratechange(String value) { 374 super.onratechange(value); 375 return this; 376 } 377 378 @Override /* Overridden from HtmlElement */ 379 public Embed onreset(String value) { 380 super.onreset(value); 381 return this; 382 } 383 384 @Override /* Overridden from HtmlElement */ 385 public Embed onresize(String value) { 386 super.onresize(value); 387 return this; 388 } 389 390 @Override /* Overridden from HtmlElement */ 391 public Embed onscroll(String value) { 392 super.onscroll(value); 393 return this; 394 } 395 396 @Override /* Overridden from HtmlElement */ 397 public Embed onseeked(String value) { 398 super.onseeked(value); 399 return this; 400 } 401 402 @Override /* Overridden from HtmlElement */ 403 public Embed onseeking(String value) { 404 super.onseeking(value); 405 return this; 406 } 407 408 @Override /* Overridden from HtmlElement */ 409 public Embed onselect(String value) { 410 super.onselect(value); 411 return this; 412 } 413 414 @Override /* Overridden from HtmlElement */ 415 public Embed onshow(String value) { 416 super.onshow(value); 417 return this; 418 } 419 420 @Override /* Overridden from HtmlElement */ 421 public Embed onstalled(String value) { 422 super.onstalled(value); 423 return this; 424 } 425 426 @Override /* Overridden from HtmlElement */ 427 public Embed onsubmit(String value) { 428 super.onsubmit(value); 429 return this; 430 } 431 432 @Override /* Overridden from HtmlElement */ 433 public Embed onsuspend(String value) { 434 super.onsuspend(value); 435 return this; 436 } 437 438 @Override /* Overridden from HtmlElement */ 439 public Embed ontimeupdate(String value) { 440 super.ontimeupdate(value); 441 return this; 442 } 443 444 @Override /* Overridden from HtmlElement */ 445 public Embed ontoggle(String value) { 446 super.ontoggle(value); 447 return this; 448 } 449 450 @Override /* Overridden from HtmlElement */ 451 public Embed onvolumechange(String value) { 452 super.onvolumechange(value); 453 return this; 454 } 455 456 @Override /* Overridden from HtmlElement */ 457 public Embed onwaiting(String value) { 458 super.onwaiting(value); 459 return this; 460 } 461 462 @Override /* Overridden from HtmlElement */ 463 public Embed spellcheck(Object value) { 464 super.spellcheck(value); 465 return this; 466 } 467 468 /** 469 * <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-embed-src">src</a> attribute. 470 * 471 * <p> 472 * Address of the resource. 473 * 474 * <p> 475 * The value can be of any of the following types: {@link URI}, {@link URL}, {@link String}. 476 * Strings must be valid URIs. 477 * 478 * <p> 479 * URIs defined by {@link UriResolver} can be used for values. 480 * 481 * @param value 482 * The new value for this attribute. 483 * Typically a {@link URL} or {@link String}. 484 * @return This object. 485 */ 486 public Embed src(Object value) { 487 attrUri("src", value); 488 return this; 489 } 490 491 @Override /* Overridden from HtmlElement */ 492 public Embed style(String value) { 493 super.style(value); 494 return this; 495 } 496 497 @Override /* Overridden from HtmlElement */ 498 public Embed tabindex(Object value) { 499 super.tabindex(value); 500 return this; 501 } 502 503 @Override /* Overridden from HtmlElement */ 504 public Embed title(String value) { 505 super.title(value); 506 return this; 507 } 508 509 @Override /* Overridden from HtmlElement */ 510 public Embed translate(Object value) { 511 super.translate(value); 512 return this; 513 } 514 515 /** 516 * <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-embed-type">type</a> attribute. 517 * 518 * <p> 519 * Specifies the MIME type of the embedded resource. Helps browsers determine how to handle the resource. 520 * 521 * <p> 522 * Common values: 523 * <ul> 524 * <li><js>"application/pdf"</js> - PDF document</li> 525 * <li><js>"application/x-shockwave-flash"</js> - Flash content</li> 526 * <li><js>"image/svg+xml"</js> - SVG image</li> 527 * <li><js>"video/mp4"</js> - MP4 video</li> 528 * <li><js>"audio/mp3"</js> - MP3 audio</li> 529 * </ul> 530 * 531 * @param value The MIME type of the embedded resource. 532 * @return This object. 533 */ 534 public Embed type(String value) { 535 attr("type", value); 536 return this; 537 } 538 539 /** 540 * <a class="doclink" href="https://www.w3.org/TR/html5/embedded-content-0.html#attr-dim-width">width</a> attribute. 541 * 542 * <p> 543 * Horizontal dimension. 544 * 545 * @param value 546 * The new value for this attribute. 547 * Typically a {@link Number} or {@link String}. 548 * @return This object. 549 */ 550 public Embed width(Object value) { 551 attr("width", value); 552 return this; 553 } 554}