001
014
015 package com.liferay.portal.xml;
016
017 import com.liferay.portal.kernel.xml.Branch;
018 import com.liferay.portal.kernel.xml.Comment;
019 import com.liferay.portal.kernel.xml.Element;
020 import com.liferay.portal.kernel.xml.Node;
021 import com.liferay.portal.kernel.xml.ProcessingInstruction;
022 import com.liferay.portal.kernel.xml.QName;
023
024 import java.util.Iterator;
025 import java.util.List;
026
027
030 public class BranchImpl extends NodeImpl implements Branch {
031
032 public BranchImpl(org.dom4j.Branch branch) {
033 super(branch);
034
035 _branch = branch;
036 }
037
038 @Override
039 public void add(Comment comment) {
040 CommentImpl commentImpl = (CommentImpl)comment;
041
042 _branch.add(commentImpl.getWrappedComment());
043 }
044
045 @Override
046 public void add(Element element) {
047 ElementImpl elementImpl = (ElementImpl)element;
048
049 _branch.add(elementImpl.getWrappedElement());
050 }
051
052 @Override
053 public void add(Node node) {
054 NodeImpl nodeImpl = (NodeImpl)node;
055
056 _branch.add(nodeImpl.getWrappedNode());
057 }
058
059 @Override
060 public void add(ProcessingInstruction processingInstruction) {
061 ProcessingInstructionImpl processingInstructionImpl =
062 (ProcessingInstructionImpl)processingInstruction;
063
064 _branch.add(
065 processingInstructionImpl.getWrappedProcessingInstruction());
066 }
067
068 @Override
069 public Element addElement(QName qName) {
070 QNameImpl qNameImpl = (QNameImpl)qName;
071
072 return new ElementImpl(_branch.addElement(qNameImpl.getWrappedQName()));
073 }
074
075 @Override
076 public Element addElement(String name) {
077 return new ElementImpl(_branch.addElement(name));
078 }
079
080 @Override
081 public Element addElement(String qualifiedName, String namespaceURI) {
082 return new ElementImpl(_branch.addElement(qualifiedName, namespaceURI));
083 }
084
085 @Override
086 public void appendContent(Branch branch) {
087 BranchImpl branchImpl = (BranchImpl)branch;
088
089 _branch.appendContent(branchImpl.getWrappedBranch());
090 }
091
092 @Override
093 public void clearContent() {
094 _branch.clearContent();
095 }
096
097 @Override
098 public List<Node> content() {
099 return SAXReaderImpl.toNewNodes(_branch.content());
100 }
101
102 @Override
103 public Element elementByID(String elementID) {
104 return new ElementImpl(_branch.elementByID(elementID));
105 }
106
107 @Override
108 public boolean equals(Object obj) {
109 if (this == obj) {
110 return true;
111 }
112
113 if (!(obj instanceof BranchImpl)) {
114 return false;
115 }
116
117 org.dom4j.Branch branch = ((BranchImpl)obj).getWrappedBranch();
118
119 return _branch.equals(branch);
120 }
121
122 public org.dom4j.Branch getWrappedBranch() {
123 return _branch;
124 }
125
126 @Override
127 public int hashCode() {
128 return _branch.hashCode();
129 }
130
131 @Override
132 public int indexOf(Node node) {
133 NodeImpl nodeImpl = (NodeImpl)node;
134
135 return _branch.indexOf(nodeImpl.getWrappedNode());
136 }
137
138 @Override
139 public Node node(int index) {
140 org.dom4j.Node node = _branch.node(index);
141
142 if (node == null) {
143 return null;
144 }
145 else {
146 if (node instanceof org.dom4j.CDATA) {
147 return new CDATAImpl((org.dom4j.CDATA)node);
148 }
149 else if (node instanceof org.dom4j.Comment) {
150 return new CommentImpl((org.dom4j.Comment)node);
151 }
152 else if (node instanceof org.dom4j.Element) {
153 return new ElementImpl((org.dom4j.Element)node);
154 }
155 else if (node instanceof org.dom4j.Entity) {
156 return new EntityImpl((org.dom4j.Entity)node);
157 }
158 else if (node instanceof org.dom4j.Namespace) {
159 return new NamespaceImpl((org.dom4j.Namespace)node);
160 }
161 else if (node instanceof org.dom4j.Text) {
162 return new TextImpl((org.dom4j.Text)node);
163 }
164 else {
165 return new NodeImpl(node);
166 }
167 }
168 }
169
170 @Override
171 public int nodeCount() {
172 return _branch.nodeCount();
173 }
174
175 @Override
176 public Iterator<Node> nodeIterator() {
177 return content().iterator();
178 }
179
180 @Override
181 public void normalize() {
182 _branch.normalize();
183 }
184
185 @Override
186 public ProcessingInstruction processingInstruction(String target) {
187 org.dom4j.ProcessingInstruction processingInstruction =
188 _branch.processingInstruction(target);
189
190 if (processingInstruction == null) {
191 return null;
192 }
193 else {
194 return new ProcessingInstructionImpl(processingInstruction);
195 }
196 }
197
198 @Override
199 public List<ProcessingInstruction> processingInstructions() {
200 return SAXReaderImpl.toNewProcessingInstructions(
201 _branch.processingInstructions());
202 }
203
204 @Override
205 public List<ProcessingInstruction> processingInstructions(String target) {
206 return SAXReaderImpl.toNewProcessingInstructions(
207 _branch.processingInstructions(target));
208 }
209
210 @Override
211 public boolean remove(Comment comment) {
212 CommentImpl commentImpl = (CommentImpl)comment;
213
214 return _branch.remove(commentImpl.getWrappedComment());
215 }
216
217 @Override
218 public boolean remove(Element element) {
219 ElementImpl elementImpl = (ElementImpl)element;
220
221 return _branch.remove(elementImpl.getWrappedElement());
222 }
223
224 @Override
225 public boolean remove(Node node) {
226 NodeImpl nodeImpl = (NodeImpl)node;
227
228 return _branch.remove(nodeImpl.getWrappedNode());
229 }
230
231 @Override
232 public boolean remove(ProcessingInstruction processingInstruction) {
233 ProcessingInstructionImpl processingInstructionImpl =
234 (ProcessingInstructionImpl)processingInstruction;
235
236 return _branch.remove(
237 processingInstructionImpl.getWrappedProcessingInstruction());
238 }
239
240 @Override
241 public boolean removeProcessingInstruction(String target) {
242 return _branch.removeProcessingInstruction(target);
243 }
244
245 @Override
246 public void setContent(List<Node> content) {
247 _branch.setContent(SAXReaderImpl.toOldNodes(content));
248 }
249
250 @Override
251 public void setProcessingInstructions(
252 List<ProcessingInstruction> processingInstructions) {
253
254 _branch.setProcessingInstructions(
255 SAXReaderImpl.toOldProcessingInstructions(processingInstructions));
256 }
257
258 @Override
259 public String toString() {
260 return _branch.toString();
261 }
262
263 private org.dom4j.Branch _branch;
264
265 }