| org.eclipse.jdt.core.jdom.IDOMNode
All known Subclasses: org.eclipse.jdt.internal.core.jdom.DOMNode,
IDOMNode | public interface IDOMNode extends Cloneable(Code) | | Nodes represent structural fragments of a Java source file, also known as document fragments. Their implementation
is known as a DOM (Document Object Model) - in this case a JDOM (Java DOM). A root node (node
with no parent or siblings) represents the root of a document fragment (DF). A complete Java document is
represented by a compilation unit node (IDOMCompilationUnit ). In this way, a DF is
comprised of DFs, and a document itself (compilation unit) is also a DF.
A DF may be created empty and programmatically filled, or it may be created from
a source code string. The IDOMFactory allows the creation of all kinds
of nodes from source code strings. Manipulations performed on a DF are immediately
reflected in the DF's contents.
Children fragments are represented as a linked list of nodes. Children are inserted via their parent node, and
are automatically linked up with previous and next nodes.
The contents of any node (DF) may be retrieved at any time. In this way it is possible to retrieve
source code representing fragments of the compilation unit (for example, a type or a method), since
the contents of any node (not just the root node) may be obtained.
The following manipulations on DFs are distinct:
- clone - this creates a stand-alone copy of the DF that is in no way dependent on the DF that it was cloned from
- remove - this orphans a DF from its host DF. The removed DF may still be dependent on its previous host
(perhaps to generate its contents), and hanging onto the fragment means that its previous host is also
retained in memory.
- add/insert - this splices an un-parented DF (one that has been cloned, removed, or created stand-alone),
into an existing DF such that the newly inserted DF is only dependent on its new host.
Wherever types are specified in DOM APIs, type names must be specified as they would appear
in source code. The DOM does not have a notion of type signatures, only raw text. Example type
names are "Object" , "java.io.File" , and "int[]" .
This interface is not intended to be implemented by clients.
|
Field Summary | |
public static int | COMPILATION_UNIT Node type constant indicating a compilation unit. | public static int | FIELD Node type constant indicating a field declaration. | public static int | IMPORT Node type constant indicating an import declaration. | public static int | INITIALIZER Node type constant indicating an initializer declaration. | public static int | METHOD Node type constant indicating a method (or constructor) declaration. | public static int | PACKAGE Node type constant indicating a package declaration. | public static int | TYPE Node type constant indicating a type declaration. |
Method Summary | |
public void | addChild(IDOMNode child) Adds the given un-parented node (document fragment) as the last child of this node. | public boolean | canHaveChildren() Returns whether this node is allowed to have children. | public Object | clone() Returns a stand-alone copy of the document fragment represented by this node that
is in no way dependent on the document this node is part of. | public char[] | getCharacters() Returns the current contents of this document fragment as a character array. | public IDOMNode | getChild(String name) Returns the first named child of this node with the given name. | public Enumeration | getChildren() Returns an enumeration of children of this node. | public String | getContents() Returns the current contents of this document fragment. | public IDOMNode | getFirstChild() Returns the first child of this node. | public IJavaElement | getJavaElement(IJavaElement parent) Returns a handle for the Java element associated with this
document fragment, based on the parent Java element. | public String | getName() Returns the name of this node. | public IDOMNode | getNextNode() Returns the sibling node immediately following this node. | public int | getNodeType() Returns the type of this node. | public IDOMNode | getParent() Returns the parent of this node. | public IDOMNode | getPreviousNode() Returns the sibling node immediately preceding this node. | public void | insertSibling(IDOMNode sibling) Inserts the given un-parented node as a sibling of this node, immediately before
this node. | public boolean | isAllowableChild(IDOMNode node) Returns whether the given node is an allowable child for this node. | public boolean | isSignatureEqual(IDOMNode node) Returns whether this node's signature is equivalent to the given
node's signature. | public void | remove() Separates this node from its parent and siblings, maintaining any ties that this node
has to the underlying document fragment. | public void | setName(String name) Sets the name of this node. |
COMPILATION_UNIT | public static int COMPILATION_UNIT(Code) | | Node type constant indicating a compilation unit.
Nodes of this type maybe by safely cast to IDOMCompilationUnit .
See Also: IDOMNode.getNodeType() |
FIELD | public static int FIELD(Code) | | Node type constant indicating a field declaration.
Nodes of this type maybe by safely cast to IDOMField .
See Also: IDOMNode.getNodeType() |
IMPORT | public static int IMPORT(Code) | | Node type constant indicating an import declaration.
Nodes of this type maybe by safely cast to IDOMImport .
See Also: IDOMNode.getNodeType() |
INITIALIZER | public static int INITIALIZER(Code) | | Node type constant indicating an initializer declaration.
Nodes of this type maybe by safely cast to IDOMInitializer .
See Also: IDOMNode.getNodeType() |
METHOD | public static int METHOD(Code) | | Node type constant indicating a method (or constructor) declaration.
Nodes of this type maybe by safely cast to IDOMMethod .
See Also: IDOMNode.getNodeType() |
PACKAGE | public static int PACKAGE(Code) | | Node type constant indicating a package declaration.
Nodes of this type maybe by safely cast to IDOMPackage .
See Also: IDOMNode.getNodeType() |
TYPE | public static int TYPE(Code) | | Node type constant indicating a type declaration.
Nodes of this type maybe by safely cast to IDOMType .
See Also: IDOMNode.getNodeType() |
canHaveChildren | public boolean canHaveChildren()(Code) | | Returns whether this node is allowed to have children.
true if this node can have children |
getCharacters | public char[] getCharacters()(Code) | | Returns the current contents of this document fragment as a character array.
Note: To obtain complete source for the source file, ask a compilation unit
node for its contents.
the contents, or null if this node has no contents |
getChild | public IDOMNode getChild(String name)(Code) | | Returns the first named child of this node with the given name.
Parameters: name - the name the child node, or null if no such child exists |
getChildren | public Enumeration getChildren()(Code) | | Returns an enumeration of children of this node. Returns an empty enumeration
if this node has no children (including nodes that cannot have children).
Children appear in the order in which they are declared in the source code.
an enumeration of the children |
getContents | public String getContents()(Code) | | Returns the current contents of this document fragment.
Note: To obtain complete source for the source file, ask a compilation unit
node for its contents.
the contents, or null if this node has no contents |
getFirstChild | public IDOMNode getFirstChild()(Code) | | Returns the first child of this node.
Children appear in the order in which they exist in the source code.
the first child, or null if this node has no children See Also: IDOMNode.getChildren() |
getJavaElement | public IJavaElement getJavaElement(IJavaElement parent) throws IllegalArgumentException(Code) | | Returns a handle for the Java element associated with this
document fragment, based on the parent Java element.
Parameters: parent - the parent Java element exception: IllegalArgumentException - if the parent element is notof a valid parent type for this node a handle for the Java element associated with this document fragment, based on the parent Java element |
getName | public String getName()(Code) | | Returns the name of this node.
More details are provided in each of the subtypes.
the name, or null if it has no name |
getNextNode | public IDOMNode getNextNode()(Code) | | Returns the sibling node immediately following this node.
the next node, or null if there is no following node |
getNodeType | public int getNodeType()(Code) | | Returns the type of this node.
one of the node type constants defined in IDOMNode |
getParent | public IDOMNode getParent()(Code) | | Returns the parent of this node.
the parent node, or null if this node does not have a parent |
getPreviousNode | public IDOMNode getPreviousNode()(Code) | | Returns the sibling node immediately preceding this node.
the previous node, or null if there is no preceding node |
isAllowableChild | public boolean isAllowableChild(IDOMNode node)(Code) | | Returns whether the given node is an allowable child for this node.
Parameters: node - the potential child node true if the given node is an allowable child |
isSignatureEqual | public boolean isSignatureEqual(IDOMNode node)(Code) | | Returns whether this node's signature is equivalent to the given
node's signature. In other words, if the nodes were siblings,
would the declarations collide because they represent the same declaration.
Parameters: node - the other node true if the nodes have equivalent signatures |
remove | public void remove()(Code) | | Separates this node from its parent and siblings, maintaining any ties that this node
has to the underlying document fragment. A document fragment that is removed
from its host document may still be dependent on that host document until it is
inserted into a different document. Removing a root node has no effect.
See Also: IDOMNode.addChild(IDOMNode) See Also: IDOMNode.clone() See Also: IDOMNode.insertSibling(IDOMNode) |
setName | public void setName(String name)(Code) | | Sets the name of this node. Name format depends on node type.
More details are provided in each of the subtypes.
Parameters: name - the name, or null to clear the name |
|
|