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