View Javadoc
1   /*
2    * #%L
3    * wcm.io
4    * %%
5    * Copyright (C) 2014 wcm.io
6    * %%
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   *
11   *      http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   * #L%
19   */
20  package io.wcm.handler.commons.dom;
21  
22  import org.osgi.annotation.versioning.ProviderType;
23  
24  /**
25   * Html audio (audio) element.
26   */
27  @ProviderType
28  @SuppressWarnings("java:S110") // # parent inheritance
29  public final class Audio extends AbstractNonSelfClosingHtmlElement {
30  
31    private static final long serialVersionUID = 1L;
32  
33    private static final String ELEMENT_NAME = "audio";
34  
35    private static final String ATTRIBUTE_AUTOPLAY = "autoplay";
36    private static final String ATTRIBUTE_CONTROLS = "controls";
37    private static final String ATTRIBUTE_LOOP = "loop";
38    private static final String ATTRIBUTE_PRELOAD = "preload";
39    private static final String ATTRIBUTE_SRC = "src";
40  
41    /**
42     * Initializes html element.
43     */
44    public Audio() {
45      super(ELEMENT_NAME);
46    }
47  
48    /**
49     * Html "autoplay" attribute.
50     * @return Value of attribute
51     */
52    public boolean isAutoPlay() {
53      return getEmptyAttributeValueAsBoolean(ATTRIBUTE_AUTOPLAY);
54    }
55  
56    /**
57     * Html "autoplay" attribute.
58     * @param value Value of attribute
59     * @return Self reference
60     */
61    public Audio setAutoPlay(boolean value) {
62      setEmptyAttributeValueAsBoolean(ATTRIBUTE_AUTOPLAY, value);
63      return this;
64    }
65  
66    /**
67     * Html "controls" attribute.
68     * @return Value of attribute
69     */
70    public boolean isControls() {
71      return getEmptyAttributeValueAsBoolean(ATTRIBUTE_CONTROLS);
72    }
73  
74    /**
75     * Html "controls" attribute.
76     * @param value Value of attribute
77     * @return Self reference
78     */
79    public Audio setControls(boolean value) {
80      setEmptyAttributeValueAsBoolean(ATTRIBUTE_CONTROLS, value);
81      return this;
82    }
83  
84    /**
85     * Html "loop" attribute.
86     * @return Value of attribute
87     */
88    public boolean isLoop() {
89      return getEmptyAttributeValueAsBoolean(ATTRIBUTE_LOOP);
90    }
91  
92    /**
93     * Html "loop" attribute.
94     * @param value Value of attribute
95     * @return Self reference
96     */
97    public Audio setLoop(boolean value) {
98      setEmptyAttributeValueAsBoolean(ATTRIBUTE_LOOP, value);
99      return this;
100   }
101 
102   /**
103    * Html "preload" attribute.
104    * @return Value of attribute
105    */
106   public String getPreload() {
107     return getAttributeValue(ATTRIBUTE_PRELOAD);
108   }
109 
110   /**
111    * Html "preload" attribute.
112    * @param value Value of attribute
113    * @return Self reference
114    */
115   public Audio setPreload(String value) {
116     setAttribute(ATTRIBUTE_PRELOAD, value);
117     return this;
118   }
119 
120   /**
121    * Html "src" attribute.
122    * @return Value of attribute
123    */
124   public String getSrc() {
125     return getAttributeValue(ATTRIBUTE_SRC);
126   }
127 
128   /**
129    * Html "src" attribute.
130    * @param value Value of attribute
131    * @return Self reference
132    */
133   public Audio setSrc(String value) {
134     setAttribute(ATTRIBUTE_SRC, value);
135     return this;
136   }
137 
138   // -- overwrite methods for builder pattern with covariant return types --
139 
140   @Override
141   protected Audio setEmptyAttributeValueAsBoolean(String attributeName, boolean value) {
142     return (Audio)super.setEmptyAttributeValueAsBoolean(attributeName, value);
143   }
144 
145   @Override
146   public Audio setId(String value) {
147     return (Audio)super.setId(value);
148   }
149 
150   @Override
151   public Audio setCssClass(String value) {
152     return (Audio)super.setCssClass(value);
153   }
154 
155   @Override
156   public Audio addCssClass(String value) {
157     return (Audio)super.addCssClass(value);
158   }
159 
160   @Override
161   public Audio setStyleString(String value) {
162     return (Audio)super.setStyleString(value);
163   }
164 
165   @Override
166   public Audio setStyle(String styleAttribute, String styleValue) {
167     return (Audio)super.setStyle(styleAttribute, styleValue);
168   }
169 
170   @Override
171   public Audio setTitle(String value) {
172     return (Audio)super.setTitle(value);
173   }
174 
175   @Override
176   public Audio setData(String attributeName, String value) {
177     return (Audio)super.setData(attributeName, value);
178   }
179 
180   @Override
181   public Audio setAttributeValueAsLong(String name, long value) {
182     return (Audio)super.setAttributeValueAsLong(name, value);
183   }
184 
185   @Override
186   public Audio setText(String text) {
187     return (Audio)super.setText(text);
188   }
189 
190 }