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.html.DomElement.ATTRIBUTE_NOT_DEFINED;
18
19 import org.htmlunit.html.HtmlBase;
20 import org.htmlunit.javascript.configuration.JsxClass;
21 import org.htmlunit.javascript.configuration.JsxConstructor;
22 import org.htmlunit.javascript.configuration.JsxGetter;
23 import org.htmlunit.javascript.configuration.JsxSetter;
24
25
26
27
28
29
30
31 @JsxClass(domClass = HtmlBase.class)
32 public class HTMLBaseElement extends HTMLElement {
33
34
35
36
37 @Override
38 @JsxConstructor
39 public void jsConstructor() {
40 super.jsConstructor();
41 }
42
43
44
45
46
47 @JsxGetter
48 public String getHref() {
49 final String href = getDomNodeOrDie().getAttributeDirect("href");
50 if (ATTRIBUTE_NOT_DEFINED == href) {
51 return getWindow().getLocation().getHref();
52 }
53 return href;
54 }
55
56
57
58
59
60 @JsxSetter
61 public void setHref(final String href) {
62 getDomNodeOrDie().setAttribute("href", href);
63 }
64
65
66
67
68
69 @JsxGetter
70 public String getTarget() {
71 return getDomNodeOrDie().getAttributeDirect("target");
72 }
73
74
75
76
77
78 @JsxSetter
79 public void setTarget(final String target) {
80 getDomNodeOrDie().setAttribute("target", target);
81 }
82
83
84
85
86 @Override
87 protected boolean isEndTagForbidden() {
88 return true;
89 }
90 }