com.google.gwt.xml.client.Document.java Source code

Java tutorial

Introduction

Here is the source code for com.google.gwt.xml.client.Document.java

Source

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

/*
 * Implementation notes: Safari does not support mutable attributes, so no
 * mechanism for creating Attr objects has been supplied. IE does not support
 * any of the xxxNS operations, so they have been omitted as well. IE does not
 * use importNode to copy nodes from one document into another.
 */
/**
 * <code>Document</code> objects represent XML documents. Each
 * <code>Document</code> can contain exactly one <code>Element</code> node,
 * and any number of other node types.
 */
public interface Document extends Node {
    /**
     * This method creates a new <code>CDATASection</code>.
     * 
     * @param data the data of the new <code>CDATASection</code>
     * @return the newly created <code>CDATASection</code>
     */
    CDATASection createCDATASection(String data);

    /**
     * This method creates a new <code>Comment</code>.
     * 
     * @param data the data of the new <code>Comment</code>
     * @return the newly created <code>Comment</code>
     */
    Comment createComment(String data);

    /**
     * This method creates a new <code>DocumentFragment</code>.
     * 
     * @return the newly created <code>DocumentFragment</code>
     */
    DocumentFragment createDocumentFragment();

    /**
     * This method creates a new <code>Element</code>.
     * 
     * @param tagName the tag name of the new <code>Element</code>
     * @return the newly created <code>Element</code>
     */
    Element createElement(String tagName);

    /**
     * This method creates a new <code>ProcessingInstruction</code>.
     * 
     * @param target the target of the new <code>ProcessingInstruction</code>
     * @param data the data of the new <code>ProcessingInstruction</code>
     * @return the newly created <code>ProcessingInstruction</code>
     */
    ProcessingInstruction createProcessingInstruction(String target, String data);

    /**
     * This method creates a new <code>Text</code>.
     * 
     * @param data the data of the new <code>Text</code>
     * @return the newly created <code>Text</code>
     */
    Text createTextNode(String data);

    /**
     * This method retrieves the document element. Each document has at most one
     * <code>Element</code> as its direct child, and this node is returned if it
     * exists. <code>null</code> is returned otherwise.
     * 
     * @return the document element of this <code>Document</code>
     */
    Element getDocumentElement();

    /**
     * This method retrieves the unique descendent elements which has an id of
     * <code>elementId</code>. Note the attribute which is used as an ID must
     * be supplied in the DTD of the document. It is not sufficient to give the
     * <code>Element</code> to be retrieved an attribute named 'id'.
     * 
     * @return the <code>Element</code> which has an id of
     *         <code>elementId</code> and belongs to this <code>Document</code>
     */
    Element getElementById(String elementId);

    /**
     * This method retrieves any descendent elements which have a tag name of
     * <code>tagname</code>.
     * 
     * @return the <code>NodeList</code> of elements which has a tag name of
     *         <code>tagname</code> and belong to this <code>Document</code>
     */
    NodeList getElementsByTagName(String tagname);

    /**
     * This method imports a node into the current <code>Document</code>.
     * 
     * @param deep whether to recurse to children
     * @return the node <code>Node</code> imported
     */
    Node importNode(Node importedNode, boolean deep);
}