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/forms.html#the-meter-element"><meter></a> 023 * element. 024 * 025 * <p> 026 * The meter element represents a scalar measurement within a known range, or a fractional value. 027 * It is used to display a gauge or meter showing a value within a defined range, such as disk 028 * usage, memory usage, or progress. The meter element is not suitable for representing a range 029 * of values (use the input element with type="range" for that). It is typically rendered as a 030 * visual gauge or bar that shows the current value relative to the minimum and maximum values. 031 * 032 * <h5 class='section'>Examples:</h5> 033 * <p class='bcode w800'> 034 * <jk>import static</jk> org.apache.juneau.bean.html5.HtmlBuilder.*; 035 * 036 * <jc>// Simple meter</jc> 037 * Meter <jv>simple</jv> = <jsm>meter</jsm>() 038 * .value(50) 039 * .min(0) 040 * .max(100); 041 * 042 * <jc>// Meter with styling</jc> 043 * Meter <jv>styled</jv> = <jsm>meter</jsm>() 044 * ._class(<js>"progress-meter"</js>) 045 * .value(75) 046 * .min(0) 047 * .max(100); 048 * 049 * <jc>// Meter with complex content</jc> 050 * Meter <jv>complex</jv> = <jsm>meter</jsm>() 051 * .value(60) 052 * .min(0) 053 * .max(100) 054 * .low(25) 055 * .high(75) 056 * .optimum(50); 057 * 058 * <jc>// Meter with ID</jc> 059 * Meter <jv>withId</jv> = <jsm>meter</jsm>() 060 * .id(<js>"disk-usage"</js>) 061 * .value(80) 062 * .min(0) 063 * .max(100); 064 * 065 * <jc>// Meter with styling</jc> 066 * Meter <jv>styled2</jv> = <jsm>meter</jsm>() 067 * .style(<js>"width: 200px; height: 20px;"</js>) 068 * .value(40) 069 * .min(0) 070 * .max(100); 071 * 072 * <jc>// Meter with multiple attributes</jc> 073 * Meter <jv>multiple</jv> = <jsm>meter</jsm>() 074 * .value(85) 075 * .min(0) 076 * .max(100) 077 * .low(20) 078 * .high(80) 079 * .optimum(50) 080 * .title(<js>"Disk Usage: 85%"</js>); 081 * 082 * // Meter with form 083 * Meter withForm = new Meter() 084 * .form("usage-form") 085 * .value(30) 086 * .min(0) 087 * .max(100); 088 * </p> 089 * 090 * <h5 class='section'>See Also:</h5><ul> 091 * <li class='link'><a class="doclink" href="https://juneau.apache.org/docs/topics/JuneauBeanHtml5">juneau-bean-html5</a> 092 * </ul> 093 */ 094@Bean(typeName = "meter") 095public class Meter extends HtmlElementMixed { 096 097 /** 098 * Creates an empty {@link Meter} element. 099 */ 100 public Meter() {} 101 102 /** 103 * Creates a {@link Meter} element with the specified child nodes. 104 * 105 * @param children The child nodes. 106 */ 107 public Meter(Object...children) { 108 children(children); 109 } 110 111 @Override /* Overridden from HtmlElement */ 112 public Meter _class(String value) { // NOSONAR - Intentional naming. 113 super._class(value); 114 return this; 115 } 116 117 @Override /* Overridden from HtmlElement */ 118 public Meter accesskey(String value) { 119 super.accesskey(value); 120 return this; 121 } 122 123 @Override /* Overridden from HtmlElement */ 124 public Meter attr(String key, Object val) { 125 super.attr(key, val); 126 return this; 127 } 128 129 @Override /* Overridden from HtmlElement */ 130 public Meter attrUri(String key, Object val) { 131 super.attrUri(key, val); 132 return this; 133 } 134 135 @Override /* Overridden from HtmlElementMixed */ 136 public Meter child(Object value) { 137 super.child(value); 138 return this; 139 } 140 141 @Override /* Overridden from HtmlElementMixed */ 142 public Meter children(Object...value) { 143 super.children(value); 144 return this; 145 } 146 147 @Override /* Overridden from HtmlElement */ 148 public Meter contenteditable(Object value) { 149 super.contenteditable(value); 150 return this; 151 } 152 153 @Override /* Overridden from HtmlElement */ 154 public Meter dir(String value) { 155 super.dir(value); 156 return this; 157 } 158 159 @Override /* Overridden from HtmlElement */ 160 public Meter hidden(Object value) { 161 super.hidden(value); 162 return this; 163 } 164 165 /** 166 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-meter-high">high</a> attribute. 167 * 168 * <p> 169 * Low limit of high range. 170 * 171 * @param value 172 * The new value for this attribute. 173 * Typically a {@link Number} or {@link String}. 174 * @return This object. 175 */ 176 public Meter high(Object value) { 177 attr("high", value); 178 return this; 179 } 180 181 @Override /* Overridden from HtmlElement */ 182 public Meter id(String value) { 183 super.id(value); 184 return this; 185 } 186 187 @Override /* Overridden from HtmlElement */ 188 public Meter lang(String value) { 189 super.lang(value); 190 return this; 191 } 192 193 /** 194 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-meter-low">low</a> attribute. 195 * 196 * <p> 197 * High limit of low range. 198 * 199 * @param value 200 * The new value for this attribute. 201 * Typically a {@link Number} or {@link String}. 202 * @return This object. 203 */ 204 public Meter low(Object value) { 205 attr("low", value); 206 return this; 207 } 208 209 /** 210 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-meter-max">max</a> attribute. 211 * 212 * <p> 213 * Upper bound of range. 214 * 215 * @param value 216 * The new value for this attribute. 217 * Typically a {@link Number} or {@link String}. 218 * @return This object. 219 */ 220 public Meter max(Object value) { 221 attr("max", value); 222 return this; 223 } 224 225 /** 226 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-meter-min">min</a> attribute. 227 * 228 * <p> 229 * Lower bound of range. 230 * 231 * @param value 232 * The new value for this attribute. 233 * Typically a {@link Number} or {@link String}. 234 * @return This object. 235 */ 236 public Meter min(Object value) { 237 attr("min", value); 238 return this; 239 } 240 241 @Override /* Overridden from HtmlElement */ 242 public Meter onabort(String value) { 243 super.onabort(value); 244 return this; 245 } 246 247 @Override /* Overridden from HtmlElement */ 248 public Meter onblur(String value) { 249 super.onblur(value); 250 return this; 251 } 252 253 @Override /* Overridden from HtmlElement */ 254 public Meter oncancel(String value) { 255 super.oncancel(value); 256 return this; 257 } 258 259 @Override /* Overridden from HtmlElement */ 260 public Meter oncanplay(String value) { 261 super.oncanplay(value); 262 return this; 263 } 264 265 @Override /* Overridden from HtmlElement */ 266 public Meter oncanplaythrough(String value) { 267 super.oncanplaythrough(value); 268 return this; 269 } 270 271 @Override /* Overridden from HtmlElement */ 272 public Meter onchange(String value) { 273 super.onchange(value); 274 return this; 275 } 276 277 @Override /* Overridden from HtmlElement */ 278 public Meter onclick(String value) { 279 super.onclick(value); 280 return this; 281 } 282 283 @Override /* Overridden from HtmlElement */ 284 public Meter oncuechange(String value) { 285 super.oncuechange(value); 286 return this; 287 } 288 289 @Override /* Overridden from HtmlElement */ 290 public Meter ondblclick(String value) { 291 super.ondblclick(value); 292 return this; 293 } 294 295 @Override /* Overridden from HtmlElement */ 296 public Meter ondurationchange(String value) { 297 super.ondurationchange(value); 298 return this; 299 } 300 301 @Override /* Overridden from HtmlElement */ 302 public Meter onemptied(String value) { 303 super.onemptied(value); 304 return this; 305 } 306 307 @Override /* Overridden from HtmlElement */ 308 public Meter onended(String value) { 309 super.onended(value); 310 return this; 311 } 312 313 @Override /* Overridden from HtmlElement */ 314 public Meter onerror(String value) { 315 super.onerror(value); 316 return this; 317 } 318 319 @Override /* Overridden from HtmlElement */ 320 public Meter onfocus(String value) { 321 super.onfocus(value); 322 return this; 323 } 324 325 @Override /* Overridden from HtmlElement */ 326 public Meter oninput(String value) { 327 super.oninput(value); 328 return this; 329 } 330 331 @Override /* Overridden from HtmlElement */ 332 public Meter oninvalid(String value) { 333 super.oninvalid(value); 334 return this; 335 } 336 337 @Override /* Overridden from HtmlElement */ 338 public Meter onkeydown(String value) { 339 super.onkeydown(value); 340 return this; 341 } 342 343 @Override /* Overridden from HtmlElement */ 344 public Meter onkeypress(String value) { 345 super.onkeypress(value); 346 return this; 347 } 348 349 @Override /* Overridden from HtmlElement */ 350 public Meter onkeyup(String value) { 351 super.onkeyup(value); 352 return this; 353 } 354 355 @Override /* Overridden from HtmlElement */ 356 public Meter onload(String value) { 357 super.onload(value); 358 return this; 359 } 360 361 @Override /* Overridden from HtmlElement */ 362 public Meter onloadeddata(String value) { 363 super.onloadeddata(value); 364 return this; 365 } 366 367 @Override /* Overridden from HtmlElement */ 368 public Meter onloadedmetadata(String value) { 369 super.onloadedmetadata(value); 370 return this; 371 } 372 373 @Override /* Overridden from HtmlElement */ 374 public Meter onloadstart(String value) { 375 super.onloadstart(value); 376 return this; 377 } 378 379 @Override /* Overridden from HtmlElement */ 380 public Meter onmousedown(String value) { 381 super.onmousedown(value); 382 return this; 383 } 384 385 @Override /* Overridden from HtmlElement */ 386 public Meter onmouseenter(String value) { 387 super.onmouseenter(value); 388 return this; 389 } 390 391 @Override /* Overridden from HtmlElement */ 392 public Meter onmouseleave(String value) { 393 super.onmouseleave(value); 394 return this; 395 } 396 397 @Override /* Overridden from HtmlElement */ 398 public Meter onmousemove(String value) { 399 super.onmousemove(value); 400 return this; 401 } 402 403 @Override /* Overridden from HtmlElement */ 404 public Meter onmouseout(String value) { 405 super.onmouseout(value); 406 return this; 407 } 408 409 @Override /* Overridden from HtmlElement */ 410 public Meter onmouseover(String value) { 411 super.onmouseover(value); 412 return this; 413 } 414 415 @Override /* Overridden from HtmlElement */ 416 public Meter onmouseup(String value) { 417 super.onmouseup(value); 418 return this; 419 } 420 421 @Override /* Overridden from HtmlElement */ 422 public Meter onmousewheel(String value) { 423 super.onmousewheel(value); 424 return this; 425 } 426 427 @Override /* Overridden from HtmlElement */ 428 public Meter onpause(String value) { 429 super.onpause(value); 430 return this; 431 } 432 433 @Override /* Overridden from HtmlElement */ 434 public Meter onplay(String value) { 435 super.onplay(value); 436 return this; 437 } 438 439 @Override /* Overridden from HtmlElement */ 440 public Meter onplaying(String value) { 441 super.onplaying(value); 442 return this; 443 } 444 445 @Override /* Overridden from HtmlElement */ 446 public Meter onprogress(String value) { 447 super.onprogress(value); 448 return this; 449 } 450 451 @Override /* Overridden from HtmlElement */ 452 public Meter onratechange(String value) { 453 super.onratechange(value); 454 return this; 455 } 456 457 @Override /* Overridden from HtmlElement */ 458 public Meter onreset(String value) { 459 super.onreset(value); 460 return this; 461 } 462 463 @Override /* Overridden from HtmlElement */ 464 public Meter onresize(String value) { 465 super.onresize(value); 466 return this; 467 } 468 469 @Override /* Overridden from HtmlElement */ 470 public Meter onscroll(String value) { 471 super.onscroll(value); 472 return this; 473 } 474 475 @Override /* Overridden from HtmlElement */ 476 public Meter onseeked(String value) { 477 super.onseeked(value); 478 return this; 479 } 480 481 @Override /* Overridden from HtmlElement */ 482 public Meter onseeking(String value) { 483 super.onseeking(value); 484 return this; 485 } 486 487 @Override /* Overridden from HtmlElement */ 488 public Meter onselect(String value) { 489 super.onselect(value); 490 return this; 491 } 492 493 @Override /* Overridden from HtmlElement */ 494 public Meter onshow(String value) { 495 super.onshow(value); 496 return this; 497 } 498 499 @Override /* Overridden from HtmlElement */ 500 public Meter onstalled(String value) { 501 super.onstalled(value); 502 return this; 503 } 504 505 @Override /* Overridden from HtmlElement */ 506 public Meter onsubmit(String value) { 507 super.onsubmit(value); 508 return this; 509 } 510 511 @Override /* Overridden from HtmlElement */ 512 public Meter onsuspend(String value) { 513 super.onsuspend(value); 514 return this; 515 } 516 517 @Override /* Overridden from HtmlElement */ 518 public Meter ontimeupdate(String value) { 519 super.ontimeupdate(value); 520 return this; 521 } 522 523 @Override /* Overridden from HtmlElement */ 524 public Meter ontoggle(String value) { 525 super.ontoggle(value); 526 return this; 527 } 528 529 @Override /* Overridden from HtmlElement */ 530 public Meter onvolumechange(String value) { 531 super.onvolumechange(value); 532 return this; 533 } 534 535 @Override /* Overridden from HtmlElement */ 536 public Meter onwaiting(String value) { 537 super.onwaiting(value); 538 return this; 539 } 540 541 /** 542 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-meter-optimum">optimum</a> attribute. 543 * 544 * <p> 545 * Optimum value in gauge. 546 * 547 * @param value 548 * The new value for this attribute. 549 * Typically a {@link Number} or {@link String}. 550 * @return This object. 551 */ 552 public Meter optimum(Object value) { 553 attr("optimum", value); 554 return this; 555 } 556 557 @Override /* Overridden from HtmlElement */ 558 public Meter spellcheck(Object value) { 559 super.spellcheck(value); 560 return this; 561 } 562 563 @Override /* Overridden from HtmlElement */ 564 public Meter style(String value) { 565 super.style(value); 566 return this; 567 } 568 569 @Override /* Overridden from HtmlElement */ 570 public Meter tabindex(Object value) { 571 super.tabindex(value); 572 return this; 573 } 574 575 @Override /* Overridden from HtmlElement */ 576 public Meter title(String value) { 577 super.title(value); 578 return this; 579 } 580 581 @Override /* Overridden from HtmlElement */ 582 public Meter translate(Object value) { 583 super.translate(value); 584 return this; 585 } 586 587 /** 588 * <a class="doclink" href="https://www.w3.org/TR/html5/forms.html#attr-meter-value">value</a> attribute. 589 * 590 * <p> 591 * Current value of the element. 592 * 593 * @param value 594 * The new value for this attribute. 595 * Typically a {@link Number} or {@link String}. 596 * @return This object. 597 */ 598 public Meter value(Object value) { 599 attr("value", value); 600 return this; 601 } 602}