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
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 @Override
170 public int nodeCount() {
171 return _branch.nodeCount();
172 }
173
174 @Override
175 public Iterator<Node> nodeIterator() {
176 return content().iterator();
177 }
178
179 @Override
180 public void normalize() {
181 _branch.normalize();
182 }
183
184 @Override
185 public ProcessingInstruction processingInstruction(String target) {
186 org.dom4j.ProcessingInstruction processingInstruction =
187 _branch.processingInstruction(target);
188
189 if (processingInstruction == null) {
190 return null;
191 }
192 else {
193 return new ProcessingInstructionImpl(processingInstruction);
194 }
195 }
196
197 @Override
198 public List<ProcessingInstruction> processingInstructions() {
199 return SAXReaderImpl.toNewProcessingInstructions(
200 _branch.processingInstructions());
201 }
202
203 @Override
204 public List<ProcessingInstruction> processingInstructions(String target) {
205 return SAXReaderImpl.toNewProcessingInstructions(
206 _branch.processingInstructions(target));
207 }
208
209 @Override
210 public boolean remove(Comment comment) {
211 CommentImpl commentImpl = (CommentImpl)comment;
212
213 return _branch.remove(commentImpl.getWrappedComment());
214 }
215
216 @Override
217 public boolean remove(Element element) {
218 ElementImpl elementImpl = (ElementImpl)element;
219
220 return _branch.remove(elementImpl.getWrappedElement());
221 }
222
223 @Override
224 public boolean remove(Node node) {
225 NodeImpl nodeImpl = (NodeImpl)node;
226
227 return _branch.remove(nodeImpl.getWrappedNode());
228 }
229
230 @Override
231 public boolean remove(ProcessingInstruction processingInstruction) {
232 ProcessingInstructionImpl processingInstructionImpl =
233 (ProcessingInstructionImpl)processingInstruction;
234
235 return _branch.remove(
236 processingInstructionImpl.getWrappedProcessingInstruction());
237 }
238
239 @Override
240 public boolean removeProcessingInstruction(String target) {
241 return _branch.removeProcessingInstruction(target);
242 }
243
244 @Override
245 public void setContent(List<Node> content) {
246 _branch.setContent(SAXReaderImpl.toOldNodes(content));
247 }
248
249 @Override
250 public void setProcessingInstructions(
251 List<ProcessingInstruction> processingInstructions) {
252
253 _branch.setProcessingInstructions(
254 SAXReaderImpl.toOldProcessingInstructions(processingInstructions));
255 }
256
257 @Override
258 public String toString() {
259 return _branch.toString();
260 }
261
262 private org.dom4j.Branch _branch;
263
264 }