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 image (img) element.
26   */
27  @ProviderType
28  @SuppressWarnings("java:S110") // # parent inheritance
29  public final class Image extends HtmlElement {
30  
31    private static final long serialVersionUID = 1L;
32  
33    private static final String ELEMENT_NAME = "img";
34  
35    private static final String ATTRIBUTE_SRC = "src";
36    private static final String ATTRIBUTE_SRCSET = "srcset";
37    private static final String ATTRIBUTE_SIZES = "sizes";
38    private static final String ATTRIBUTE_ALT = "alt";
39    private static final String ATTRIBUTE_WIDTH = "width";
40    private static final String ATTRIBUTE_HEIGHT = "height";
41    private static final String ATTRIBUTE_BORDER = "border";
42    private static final String ATTRIBUTE_HSPACE = "hspace";
43    private static final String ATTRIBUTE_VSPACE = "vspace";
44    private static final String ATTRIBUTE_USEMAP = "usemap";
45  
46    /**
47     * Initializes html element.
48     */
49    public Image() {
50      super(ELEMENT_NAME);
51    }
52  
53    /**
54     * Initializes html element.
55     * @param src Html "src" attribute.
56     */
57    public Image(String src) {
58      this();
59      setSrc(src);
60    }
61  
62    /**
63     * Initializes html element.
64     * @param src Html "src" attribute.
65     * @param alt Html "alt" attribute.
66     */
67    public Image(String src, String alt) {
68      this();
69      setSrc(src);
70      setAlt(alt);
71    }
72  
73    /**
74     * Initializes html element.
75     * @param src Html "src" attribute.
76     * @param width Html "width" attribute.
77     * @param height Html "height" attribute.
78     */
79    public Image(String src, long width, long height) {
80      this();
81      setSrc(src);
82      setWidth(width);
83      setHeight(height);
84    }
85  
86    /**
87     * Initializes html element.
88     * @param src Html "src" attribute.
89     * @param alt Html "alt" attribute.
90     * @param width Html "width" attribute.
91     * @param height Html "height" attribute.
92     */
93    public Image(String src, String alt, long width, long height) {
94      this();
95      setSrc(src);
96      setAlt(alt);
97      setWidth(width);
98      setHeight(height);
99    }
100 
101   /**
102    * Html "src" attribute.
103    * @return Value of attribute
104    */
105   public String getSrc() {
106     return getAttributeValue(ATTRIBUTE_SRC);
107   }
108 
109   /**
110    * Html "src" attribute.
111    * @param value Value of attribute
112    * @return Self reference
113    */
114   public Image setSrc(String value) {
115     setAttribute(ATTRIBUTE_SRC, value);
116     return this;
117   }
118 
119   /**
120    * Html "srcset" attribute.
121    * @return Value of attribute
122    */
123   public String getSrcSet() {
124     return getAttributeValue(ATTRIBUTE_SRCSET);
125   }
126 
127   /**
128    * Html "srcset" attribute.
129    * @param value Value of attribute
130    * @return Self reference
131    */
132   public Image setSrcSet(String value) {
133     setAttribute(ATTRIBUTE_SRCSET, value);
134     return this;
135   }
136 
137   /**
138    * Html "sizes" attribute.
139    * @return Value of attribute
140    */
141   public String getSizes() {
142     return getAttributeValue(ATTRIBUTE_SIZES);
143   }
144 
145   /**
146    * Html "sizes" attribute.
147    * @param value Value of attribute
148    * @return Self reference
149    */
150   public Image setSizes(String value) {
151     setAttribute(ATTRIBUTE_SIZES, value);
152     return this;
153   }
154 
155   /**
156    * Html "alt" attribute.
157    * @return Value of attribute
158    */
159   public String getAlt() {
160     return getAttributeValue(ATTRIBUTE_ALT);
161   }
162 
163   /**
164    * Html "alt" attribute.
165    * @param value Value of attribute
166    * @return Self reference
167    */
168   public Image setAlt(String value) {
169     setAttribute(ATTRIBUTE_ALT, value);
170     return this;
171   }
172 
173   /**
174    * Html "width" attribute.
175    * @return Value of attribute
176    */
177   public long getWidth() {
178     return getAttributeValueAsLong(ATTRIBUTE_WIDTH);
179   }
180 
181   /**
182    * Html "width" attribute.
183    * @param value Value of attribute
184    * @return Self reference
185    */
186   public Image setWidth(long value) {
187     setAttributeValueAsLong(ATTRIBUTE_WIDTH, value);
188     return this;
189   }
190 
191   /**
192    * Html "height" attribute.
193    * @return Value of attribute
194    */
195   public long getHeight() {
196     return getAttributeValueAsLong(ATTRIBUTE_HEIGHT);
197   }
198 
199   /**
200    * Html "height" attribute.
201    * @param value Value of attribute
202    * @return Self reference
203    */
204   public Image setHeight(long value) {
205     setAttributeValueAsLong(ATTRIBUTE_HEIGHT, value);
206     return this;
207   }
208 
209   /**
210    * Html "border" attribute.
211    * @return Value of attribute
212    */
213   public int getBorder() {
214     return getAttributeValueAsInteger(ATTRIBUTE_BORDER);
215   }
216 
217   /**
218    * Html "border" attribute.
219    * @param value Value of attribute
220    * @return Self reference
221    */
222   public Image setBorder(int value) {
223     setAttributeValueAsInteger(ATTRIBUTE_BORDER, value);
224     return this;
225   }
226 
227   /**
228    * Html "hspace" attribute.
229    * @return Value of attribute
230    */
231   public int getHSpace() {
232     return getAttributeValueAsInteger(ATTRIBUTE_HSPACE);
233   }
234 
235   /**
236    * Html "hspace" attribute.
237    * @param value Value of attribute
238    * @return Self reference
239    */
240   public Image setHSpace(int value) {
241     setAttributeValueAsInteger(ATTRIBUTE_HSPACE, value);
242     return this;
243   }
244 
245   /**
246    * Html "vspace" attribute.
247    * @return Value of attribute
248    */
249   public int getVSpace() {
250     return getAttributeValueAsInteger(ATTRIBUTE_VSPACE);
251   }
252 
253   /**
254    * Html "vspace" attribute.
255    * @param value Value of attribute
256    * @return Self reference
257    */
258   public Image setVSpace(int value) {
259     setAttributeValueAsInteger(ATTRIBUTE_VSPACE, value);
260     return this;
261   }
262 
263   /**
264    * Html "usemap" attribute.
265    * @return Value of attribute
266    */
267   public String getUseMap() {
268     return getAttributeValue(ATTRIBUTE_USEMAP);
269   }
270 
271   /**
272    * Html "usemap" attribute.
273    * @param value Value of attribute
274    * @return Self reference
275    */
276   public Image setUseMap(String value) {
277     setAttribute(ATTRIBUTE_USEMAP, value);
278     return this;
279   }
280 
281   // -- overwrite methods for builder pattern with covariant return types --
282 
283   @Override
284   protected Image setEmptyAttributeValueAsBoolean(String attributeName, boolean value) {
285     return (Image)super.setEmptyAttributeValueAsBoolean(attributeName, value);
286   }
287 
288   @Override
289   public Image setId(String value) {
290     return (Image)super.setId(value);
291   }
292 
293   @Override
294   public Image setCssClass(String value) {
295     return (Image)super.setCssClass(value);
296   }
297 
298   @Override
299   public Image addCssClass(String value) {
300     return (Image)super.addCssClass(value);
301   }
302 
303   @Override
304   public Image setStyleString(String value) {
305     return (Image)super.setStyleString(value);
306   }
307 
308   @Override
309   public Image setStyle(String styleAttribute, String styleValue) {
310     return (Image)super.setStyle(styleAttribute, styleValue);
311   }
312 
313   @Override
314   public Image setTitle(String value) {
315     return (Image)super.setTitle(value);
316   }
317 
318   @Override
319   public Image setData(String attributeName, String value) {
320     return (Image)super.setData(attributeName, value);
321   }
322 
323   @Override
324   public Image setAttributeValueAsLong(String name, long value) {
325     return (Image)super.setAttributeValueAsLong(name, value);
326   }
327 
328   @Override
329   public Image setText(String text) {
330     return (Image)super.setText(text);
331   }
332 
333 }