| /* | |
| * Copyright 2008 Google Inc. | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not | |
| * use this file except in compliance with the License. You may obtain a copy of | |
| * the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
| * License for the specific language governing permissions and limitations under | |
| * the License. | |
| */ | |
| package com.google.gwt.xml.client; | |
| /** | |
| * This is the base interface for DOM nodes, as obtained from using | |
| * <code>XMLParser</code> methods. Methods for iterating over and accessing | |
| * values from nodes are supplied here. | |
| */ | |
| public interface Node { | |
| /** | |
| * The constant 1 denotes DOM nodes of type Element. | |
| */ | |
| short ELEMENT_NODE = 1; | |
| /** | |
| * The constant 2 denotes DOM nodes of type Attribute. | |
| */ | |
| short ATTRIBUTE_NODE = 2; | |
| /** | |
| * The constant 3 denotes DOM nodes of type Text. | |
| */ | |
| short TEXT_NODE = 3; | |
| /** | |
| * The constant 4 denotes DOM nodes of type CdataSection. | |
| */ | |
| short CDATA_SECTION_NODE = 4; | |
| /** | |
| * The constant 5 denotes DOM nodes of type EntityReference. | |
| */ | |
| short ENTITY_REFERENCE_NODE = 5; | |
| /** | |
| * The constant 6 denotes DOM nodes of type Entity. | |
| */ | |
| short ENTITY_NODE = 6; | |
| /** | |
| * The constant 7 denotes DOM nodes of type ProcessingInstruction. | |
| */ | |
| short PROCESSING_INSTRUCTION_NODE = 7; | |
| /** | |
| * The constant 8 denotes DOM nodes of type Comment. | |
| */ | |
| short COMMENT_NODE = 8; | |
| /** | |
| * The constant 9 denotes DOM nodes of type Document. | |
| */ | |
| short DOCUMENT_NODE = 9; | |
| /** | |
| * The constant 10 denotes DOM nodes of type DocumentType. | |
| */ | |
| short DOCUMENT_TYPE_NODE = 10; | |
| /** | |
| * The constant 11 denotes DOM nodes of type DocumentFragment. | |
| */ | |
| short DOCUMENT_FRAGMENT_NODE = 11; | |
| /** | |
| * The constant 12 denotes DOM nodes of type Notation. | |
| */ | |
| short NOTATION_NODE = 12; | |
| /** | |
| * This method appends child <code>newChild</code>. | |
| * | |
| * @param newChild the <code>Node</code> to be added | |
| * @return the child <code>Node</code> appended | |
| */ | |
| Node appendChild(Node newChild); | |
| /** | |
| * This method copies this <code>Node</code>. | |
| * | |
| * @param deep whether to recurse to children | |
| * @return <code>Node</code> cloned | |
| */ | |
| Node cloneNode(boolean deep); | |
| /** | |
| * This method retrieves the attributes. | |
| * | |
| * @return the attributes of this <code>Node</code> | |
| */ | |
| NamedNodeMap getAttributes(); | |
| /** | |
| * This method retrieves the child nodes. | |
| * | |
| * @return the child nodes of this <code>Node</code> | |
| */ | |
| NodeList getChildNodes(); | |
| /** | |
| * This method retrieves the first child. | |
| * | |
| * @return the first child of this <code>Node</code> | |
| */ | |
| Node getFirstChild(); | |
| /** | |
| * This method retrieves the last child. | |
| * | |
| * @return the last child of this <code>Node</code> | |
| */ | |
| Node getLastChild(); | |
| /** | |
| * This method retrieves the namespace URI. | |
| * | |
| * @return the namespace URI of this <code>Node</code> | |
| */ | |
| String getNamespaceURI(); | |
| /** | |
| * This method retrieves the next sibling. | |
| * | |
| * @return the next sibling of this <code>Node</code> | |
| */ | |
| Node getNextSibling(); | |
| /** | |
| * This method retrieves the name. | |
| * | |
| * @return the name of this <code>Node</code> | |
| */ | |
| String getNodeName(); | |
| /** | |
| * This method retrieves the type. | |
| * | |
| * @return the type of this <code>Node</code> | |
| */ | |
| short getNodeType(); | |
| /** | |
| * This method retrieves the value. | |
| * | |
| * @return the value of this <code>Node</code> | |
| */ | |
| String getNodeValue(); | |
| /** | |
| * This method retrieves the owner document. | |
| * | |
| * @return the owner document of this <code>Node</code> | |
| */ | |
| Document getOwnerDocument(); | |
| /** | |
| * This method retrieves the parent. | |
| * | |
| * @return the parent of this <code>Node</code> | |
| */ | |
| Node getParentNode(); | |
| /** | |
| * This method retrieves the prefix. | |
| * | |
| * @return the prefix of this <code>Node</code> | |
| */ | |
| String getPrefix(); | |
| /** | |
| * This method retrieves the previous sibling. | |
| * | |
| * @return the previous sibling of this <code>Node</code> | |
| */ | |
| Node getPreviousSibling(); | |
| /** | |
| * This method determines whether this <code>Node</code> has any attributes. | |
| * | |
| * @return <code>true</code> if this <code>Node</code> has any attributes | |
| */ | |
| boolean hasAttributes(); | |
| /** | |
| * This method determines whether this <code>Node</code> has any child | |
| * nodes. | |
| * | |
| * @return <code>true</code> if this <code>Node</code> has any child nodes | |
| */ | |
| boolean hasChildNodes(); | |
| /** | |
| * This method inserts before <code>newChild</code>. | |
| * | |
| * @param newChild the <code>Node</code> to be added | |
| * @param refChild the <code>Node</code> which determines the position to | |
| * insert | |
| * @return the before <code>Node</code> inserted | |
| */ | |
| Node insertBefore(Node newChild, Node refChild); | |
| /** | |
| * This method may collapse adjacent text nodes into one text node, depending | |
| * on the implementation. Safari 4.0 and Chrome will also merge CDATA nodes | |
| * into text nodes, even though they support CDATA nodes as distinct nodes. | |
| */ | |
| void normalize(); | |
| /** | |
| * This method removes child <code>oldChild</code>. | |
| * | |
| * @param oldChild the <code>Node</code> to be removed | |
| * @return the child <code>Node</code> removed | |
| */ | |
| Node removeChild(Node oldChild); | |
| /** | |
| * This method replaces the child <code>oldChild</code> with | |
| * <code>newChild</code>. | |
| * | |
| * @param newChild the <code>Node</code> to be added | |
| * @param oldChild the <code>Node</code> to be removed | |
| * @return the child <code>Node</code> replaced | |
| */ | |
| Node replaceChild(Node newChild, Node oldChild); | |
| /** | |
| * This method sets the value to <code>nodeValue</code>. | |
| * | |
| * @param nodeValue the new value | |
| */ | |
| void setNodeValue(String nodeValue); | |
| } |