1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.htmlunit.javascript.host.html;
16
17 import static org.htmlunit.BrowserVersionFeatures.JS_AREA_WITHOUT_HREF_FOCUSABLE;
18 import static org.htmlunit.html.DomElement.ATTRIBUTE_NOT_DEFINED;
19
20 import org.htmlunit.html.HtmlArea;
21 import org.htmlunit.html.HtmlElement;
22 import org.htmlunit.javascript.configuration.JsxClass;
23 import org.htmlunit.javascript.configuration.JsxConstructor;
24 import org.htmlunit.javascript.configuration.JsxGetter;
25 import org.htmlunit.javascript.configuration.JsxSetter;
26 import org.htmlunit.javascript.host.dom.DOMTokenList;
27
28
29
30
31
32
33
34
35 @JsxClass(domClass = HtmlArea.class)
36 public class HTMLAreaElement extends HTMLElement {
37
38
39
40
41 @Override
42 @JsxConstructor
43 public void jsConstructor() {
44 super.jsConstructor();
45 }
46
47
48
49
50
51
52
53 @Override
54 public Object getDefaultValue(final Class<?> hint) {
55 final HtmlElement element = getDomNodeOrNull();
56 if (element == null) {
57 return super.getDefaultValue(null);
58 }
59 return HTMLAnchorElement.getDefaultValue(element);
60 }
61
62
63
64
65
66 @JsxGetter
67 public String getAlt() {
68 return getDomNodeOrDie().getAttributeDirect("alt");
69 }
70
71
72
73
74
75 @JsxSetter
76 public void setAlt(final String alt) {
77 getDomNodeOrDie().setAttribute("alt", alt);
78 }
79
80
81
82
83 @Override
84 protected boolean isEndTagForbidden() {
85 return true;
86 }
87
88
89
90
91
92 @JsxGetter
93 public String getRel() {
94 return getDomNodeOrDie().getAttributeDirect("rel");
95 }
96
97
98
99
100
101 @JsxSetter
102 public void setRel(final String rel) {
103 getDomNodeOrDie().setAttribute("rel", rel);
104 }
105
106
107
108
109
110 @JsxGetter
111 public DOMTokenList getRelList() {
112 return new DOMTokenList(this, "rel");
113 }
114
115
116
117
118 @Override
119 public void focus() {
120
121 final HtmlArea area = (HtmlArea) getDomNodeOrDie();
122 final String hrefAttr = area.getHrefAttribute();
123
124 if (ATTRIBUTE_NOT_DEFINED != hrefAttr
125 || getBrowserVersion().hasFeature(JS_AREA_WITHOUT_HREF_FOCUSABLE)) {
126 area.focus();
127 }
128 }
129
130
131
132
133
134 @JsxGetter
135 public String getCoords() {
136 return getDomNodeOrDie().getAttributeDirect("coords");
137 }
138
139
140
141
142
143 @JsxSetter
144 public void setCoords(final String coords) {
145 getDomNodeOrDie().setAttribute("coords", coords);
146 }
147
148 }