org.dom4j.Document Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dom4j Show documentation
Show all versions of dom4j Show documentation
The dom4j api for hibernate (1.3.4)
/*
* Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
*
* This software is open source.
* See the bottom of this file for the licence.
*/
package org.dom4j;
import org.xml.sax.EntityResolver;
import java.util.Map;
/**
* Document
defines an XML Document.
*
* @author James Strachan
* @version $Revision: 1.14 $
*/
@SuppressWarnings("unused")
public interface Document extends Branch {
/**
* Returns the root {@link Element}for this document.
*
* @return the root element for this document
*/
Element getRootElement();
/**
* Sets the root element for this document
*
* @param rootElement
* the new root element for this document
*/
void setRootElement(Element rootElement);
/**
* Adds a new Comment
node with the given text to this
* branch.
*
* @param comment
* is the text for the Comment
node.
*
* @return this Document
instance.
*/
Document addComment(String comment);
/**
* Adds a processing instruction for the given target
*
* @param target
* is the target of the processing instruction
* @param text
* is the textual data (key/value pairs) of the processing
* instruction
*
* @return this Document
instance.
*/
Document addProcessingInstruction(String target, String text);
/**
* Adds a processing instruction for the given target
*
* @param target
* is the target of the processing instruction
* @param data
* is a Map of the key / value pairs of the processing
* instruction
*
* @return this Document
instance.
*/
Document addProcessingInstruction(String target, Map data);
/**
* Adds a DOCTYPE declaration to this document
*
* @param name
* is the name of the root element
* @param publicId
* is the PUBLIC URI
* @param systemId
* is the SYSTEM URI
*
* @return this Document
instance.
*/
Document addDocType(String name, String publicId, String systemId);
/**
* DOCUMENT ME!
*
* @return the DocumentType property
*/
DocumentType getDocType();
/**
* Sets the DocumentType property
*
* @param docType
* DOCUMENT ME!
*/
void setDocType(DocumentType docType);
/**
* DOCUMENT ME!
*
* @return the EntityResolver used to find resolve URIs such as for DTDs, or
* XML Schema documents
*/
EntityResolver getEntityResolver();
/**
* Sets the EntityResolver used to find resolve URIs such as for DTDs, or
* XML Schema documents
*
* @param entityResolver
* DOCUMENT ME!
*/
void setEntityResolver(EntityResolver entityResolver);
/**
* Return the encoding of this document, as part of the XML declaration This
* is null
when unspecified or when it is not known (such as
* when the Document was created in memory) or when the implementation does
* not support this operation.
*
* The way this encoding is retrieved also depends on the way the XML source
* is parsed. For instance, if the SAXReader is used and if the underlying
* XMLReader implementation support the
* org.xml.sax.ext.Locator2
interface, the result returned by
* this method is specified by the getEncoding()
method of
* that interface.
*
* @return The encoding of this document, as stated in the XML declaration,
* or null
if unknown.
*
* @since 1.5
*/
String getXMLEncoding();
/**
* Sets the encoding of this document as it will appear in the XML
* declaration part of the document.
*
* @param encoding the encoding of the document
*
* @since 1.6
*/
void setXMLEncoding(String encoding);
}
/*
* Redistribution and use of this software and associated documentation
* ("Software"), with or without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain copyright statements and
* notices. Redistributions must also contain a copy of this document.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. The name "DOM4J" must not be used to endorse or promote products derived
* from this Software without prior written permission of MetaStuff, Ltd. For
* written permission, please contact [email protected].
*
* 4. Products derived from this Software may not be called "DOM4J" nor may
* "DOM4J" appear in their names without prior written permission of MetaStuff,
* Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
*
* 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
*
* THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
*/