| /* |
| * 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); |
| |
| } |