1
2
3
4
5
6
7
8 package org.dom4j.dom;
9
10 import org.dom4j.Element;
11 import org.dom4j.tree.DefaultEntity;
12
13 import org.w3c.dom.DOMException;
14 import org.w3c.dom.Document;
15 import org.w3c.dom.NamedNodeMap;
16 import org.w3c.dom.NodeList;
17
18 /***
19 * <p>
20 * <code>DOMEntity</code> implements a Entity node which supports the W3C DOM
21 * API.
22 * </p>
23 *
24 * @author <a href="mailto:jstrachan@apache.org">James Strachan </a>
25 * @version $Revision: 1.12 $
26 */
27 public class DOMEntityReference extends DefaultEntity implements
28 org.w3c.dom.EntityReference {
29 public DOMEntityReference(String name) {
30 super(name);
31 }
32
33 public DOMEntityReference(String name, String text) {
34 super(name, text);
35 }
36
37 public DOMEntityReference(Element parent, String name, String text) {
38 super(parent, name, text);
39 }
40
41
42
43 public boolean supports(String feature, String version) {
44 return DOMNodeHelper.supports(this, feature, version);
45 }
46
47 public String getNamespaceURI() {
48 return DOMNodeHelper.getNamespaceURI(this);
49 }
50
51 public String getPrefix() {
52 return DOMNodeHelper.getPrefix(this);
53 }
54
55 public void setPrefix(String prefix) throws DOMException {
56 DOMNodeHelper.setPrefix(this, prefix);
57 }
58
59 public String getLocalName() {
60 return DOMNodeHelper.getLocalName(this);
61 }
62
63 public String getNodeName() {
64 return getName();
65 }
66
67
68
69
70 public String getNodeValue() throws DOMException {
71 return null;
72 }
73
74 public void setNodeValue(String nodeValue) throws DOMException {
75 }
76
77 public org.w3c.dom.Node getParentNode() {
78 return DOMNodeHelper.getParentNode(this);
79 }
80
81 public NodeList getChildNodes() {
82 return DOMNodeHelper.getChildNodes(this);
83 }
84
85 public org.w3c.dom.Node getFirstChild() {
86 return DOMNodeHelper.getFirstChild(this);
87 }
88
89 public org.w3c.dom.Node getLastChild() {
90 return DOMNodeHelper.getLastChild(this);
91 }
92
93 public org.w3c.dom.Node getPreviousSibling() {
94 return DOMNodeHelper.getPreviousSibling(this);
95 }
96
97 public org.w3c.dom.Node getNextSibling() {
98 return DOMNodeHelper.getNextSibling(this);
99 }
100
101 public NamedNodeMap getAttributes() {
102 return null;
103 }
104
105 public Document getOwnerDocument() {
106 return DOMNodeHelper.getOwnerDocument(this);
107 }
108
109 public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
110 org.w3c.dom.Node refChild) throws DOMException {
111 checkNewChildNode(newChild);
112
113 return DOMNodeHelper.insertBefore(this, newChild, refChild);
114 }
115
116 public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
117 org.w3c.dom.Node oldChild) throws DOMException {
118 checkNewChildNode(newChild);
119
120 return DOMNodeHelper.replaceChild(this, newChild, oldChild);
121 }
122
123 public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
124 throws DOMException {
125 return DOMNodeHelper.removeChild(this, oldChild);
126 }
127
128 public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
129 throws DOMException {
130 checkNewChildNode(newChild);
131
132 return DOMNodeHelper.appendChild(this, newChild);
133 }
134
135 private void checkNewChildNode(org.w3c.dom.Node newChild)
136 throws DOMException {
137 final int nodeType = newChild.getNodeType();
138
139 if (!((nodeType == org.w3c.dom.Node.ELEMENT_NODE)
140 || (nodeType == org.w3c.dom.Node.TEXT_NODE)
141 || (nodeType == org.w3c.dom.Node.COMMENT_NODE)
142 || (nodeType == org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE)
143 || (nodeType == org.w3c.dom.Node.CDATA_SECTION_NODE)
144 || (nodeType == org.w3c.dom.Node.ENTITY_REFERENCE_NODE))) {
145 throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
146 "Given node cannot be a child of an entity " + "reference");
147 }
148 }
149
150 public boolean hasChildNodes() {
151 return DOMNodeHelper.hasChildNodes(this);
152 }
153
154 public org.w3c.dom.Node cloneNode(boolean deep) {
155 return DOMNodeHelper.cloneNode(this, deep);
156 }
157
158 public void normalize() {
159 DOMNodeHelper.normalize(this);
160 }
161
162 public boolean isSupported(String feature, String version) {
163 return DOMNodeHelper.isSupported(this, feature, version);
164 }
165
166 public boolean hasAttributes() {
167 return DOMNodeHelper.hasAttributes(this);
168 }
169 }
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206