1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.portal.kernel.xml;
21  
22  import java.io.IOException;
23  import java.io.Writer;
24  
25  import java.util.List;
26  
27  /**
28   * <a href="Node.java.html"><b><i>View Source</i></b></a>
29   *
30   * @author Brian Wing Shun Chan
31   *
32   */
33  public interface Node {
34  
35      public String asXML();
36  
37      public Node asXPathResult(Element parent);
38  
39      public Node detach();
40  
41      public Document getDocument();
42  
43      public String getName();
44  
45      public Element getParent();
46  
47      public String getPath();
48  
49      public String getPath(Element context);
50  
51      public String getStringValue();
52  
53      public String getText();
54  
55      public String getUniquePath();
56  
57      public String getUniquePath(Element context);
58  
59      public boolean hasContent();
60  
61      public boolean isReadOnly();
62  
63      public boolean matches(String xpathExpression);
64  
65      public Number numberValueOf(String xpathExpression);
66  
67      public List<Node> selectNodes(String xpathExpression);
68  
69      public List<Node> selectNodes(
70          String xpathExpression, String comparisonXPathExpression);
71  
72      public List<Node> selectNodes(
73          String xpathExpression, String comparisonXPathExpression,
74          boolean removeDuplicates);
75  
76      public Object selectObject(String xpathExpression);
77  
78      public Node selectSingleNode(String xpathExpression);
79  
80      public void setName(String name);
81  
82      public void setText(String text);
83  
84      public boolean supportsParent();
85  
86      public String valueOf(String xpathExpression);
87  
88      public void write(Writer writer) throws IOException;
89  
90  }