001// ***************************************************************************************************************************
002// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
003// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
004// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
005// * with the License.  You may obtain a copy of the License at                                                              *
006// *                                                                                                                         *
007// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
008// *                                                                                                                         *
009// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
010// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
011// * specific language governing permissions and limitations under the License.                                              *
012// ***************************************************************************************************************************
013package org.apache.juneau.dto.html5;
014
015import org.apache.juneau.annotation.*;
016
017/**
018 * DTO for an HTML {@doc HTML5.text-level-semantics#the-data-element <data>}
019 * element.
020 *
021 * <ul class='seealso'>
022 *    <li class='link'>{@doc juneau-dto.HTML5}
023 * </ul>
024 */
025@Bean(typeName="data")
026public class Data extends HtmlElementMixed {
027
028   /**
029    * {@doc HTML5.text-level-semantics#attr-data-value value}
030    * attribute.
031    *
032    * <p>
033    * Machine-readable value.
034    *
035    * @param value
036    *    The new value for this attribute.
037    *    Typically a {@link Number} or {@link String}.
038    * @return This object (for method chaining).
039    */
040   public final Data value(Object value) {
041      attr("value", value);
042      return this;
043   }
044
045
046   //-----------------------------------------------------------------------------------------------------------------
047   // Overridden methods
048   //-----------------------------------------------------------------------------------------------------------------
049
050   @Override /* HtmlElement */
051   public final Data _class(String _class) {
052      super._class(_class);
053      return this;
054   }
055
056   @Override /* HtmlElement */
057   public final Data id(String id) {
058      super.id(id);
059      return this;
060   }
061
062   @Override /* HtmlElement */
063   public final Data style(String style) {
064      super.style(style);
065      return this;
066   }
067
068   @Override /* HtmlElementMixed */
069   public Data children(Object...children) {
070      super.children(children);
071      return this;
072   }
073
074   @Override /* HtmlElementMixed */
075   public Data child(Object child) {
076      super.child(child);
077      return this;
078   }
079}