KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > xdm > nodes > Node


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.xdm.nodes;
21
22 import org.netbeans.modules.xml.xdm.XDMModel;
23 import org.w3c.dom.*;
24 import java.util.List JavaDoc;
25 import org.netbeans.modules.xml.xdm.visitor.XMLNodeVisitor;
26
27 /**
28  * @author Ajit
29  */

30 public interface Node extends org.w3c.dom.Node JavaDoc {
31     
32     int getId();
33     
34     /*
35      * Support for the visitor pattern
36      */

37     void accept(XMLNodeVisitor visitor);
38     
39     /**
40      * A node can only be added to a tree once. Invoking this method signifies
41      * that a node has been placed into a tree and thus cannot be added. A node
42      * can be referenced by multiple trees but only added once.
43      */

44     void addedToTree(XDMModel model);
45     
46     /**
47      * @return tree if node has already been added to the tree.
48      * @see #addedToTree()
49      */

50     boolean isInTree();
51
52     /**
53      * @return true the passed node has same id and belongs to same model.
54      * @param node Node to compare
55      */

56     boolean isEquivalentNode(Node node);
57
58     /**
59      * This api clones the node object and returns the clone. A node object has
60      * content, attributes and children. The api will allow or disallow
61      * modification of this underlying data based on the input.
62      * @param cloneContent If true the content of clone can be modified.
63      * @param cloneAttributes If true the attributes of the clone can be modified.
64      * @param cloneChildren If true the children of the clone can be modified.
65      * @return returns the clone of this node
66      */

67     Node clone(boolean cloneContent, boolean cloneAttributes, boolean cloneChildren);
68     
69     /**
70      * Lookup child index of given child based on node ID.
71      * @return child index of given child or -1 if not a child.
72      */

73     int getIndexOfChild(Node child);
74     
75     /**
76      * Returns namespace of this node in the given Document tree.
77      * @return namespace URI string if this node is in the Document tree and has namespace; otherwise null.
78      */

79     String JavaDoc getNamespaceURI(Document document);
80 }
81
Popular Tags