/*
* $Id: SOAPElement.java,v 1.18 2005/12/07 07:25:37 vj135062 Exp $
* $Revision: 1.18 $
* $Date: 2005/12/07 07:25:37 $
*/
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package javax.xml.soap;
import java.util.Iterator;
import javax.xml.namespace.QName;
/**
* An object representing an element of a SOAP message that is allowed but not
* specifically prescribed by a SOAP specification. This interface serves as the
* base interface for those objects that are specifically prescribed by a SOAP
* specification.
* <p>
* Methods in this interface that are required to return SAAJ specific objects
* may "silently" replace nodes in the tree as required to successfully return
* objects of the correct type. See {@link #getChildElements()} and
* {@link <a HREF="package-summary.html#package_description">javax.xml.soap<a>}
* for details.
*/
public interface SOAPElement extends Node, org.w3c.dom.Element {
/**
* Creates a new <code>SOAPElement</code> object initialized with the
* given <code>Name</code> object and adds the new element to this
* <code>SOAPElement</code> object.
* <P>
* This method may be deprecated in a future release of SAAJ in favor of
* addChildElement(javax.xml.namespace.QName)
*
* @param name a <code>Name</code> object with the XML name for the
* new element
*
* @return the new <code>SOAPElement</code> object that was created
* @exception SOAPException if there is an error in creating the
* <code>SOAPElement</code> object
* @see SOAPElement#addChildElement(javax.xml.namespace.QName)
*/
public SOAPElement addChildElement(Name name) throws SOAPException;
/**
* Creates a new <code>SOAPElement</code> object initialized with the given
* <code>QName</code> object and adds the new element to this <code>SOAPElement</code>
* object. The <i>namespace</i>, <i>localname</i> and <i>prefix</i> of the new
* <code>SOAPElement</code> are all taken from the <code>qname</code> argument.
*
* @param qname a <code>QName</code> object with the XML name for the
* new element
*
* @return the new <code>SOAPElement</code> object that was created
* @exception SOAPException if there is an error in creating the
* <code>SOAPElement</code> object
* @see SOAPElement#addChildElement(Name)
* @since SAAJ 1.3
*/
public SOAPElement addChildElement(QName qname) throws SOAPException;
/**
* Creates a new <code>SOAPElement</code> object initialized with the
* specified local name and adds the new element to this
* <code>SOAPElement</code> object.
* The new <code>SOAPElement</code> inherits any in-scope default namespace.
*
* @param localName a <code>String</code> giving the local name for
* the element
* @return the new <code>SOAPElement</code> object that was created
* @exception SOAPException if there is an error in creating the
* <code>SOAPElement</code> object
*/
public SOAPElement addChildElement(String localName) throws SOAPException;
/**
* Creates a new <code>SOAPElement</code> object initialized with the
* specified local name and prefix and adds the new element to this
* <code>SOAPElement</code> object.
*
* @param localName a <code>String</code> giving the local name for
* the new element
* @param prefix a <code>String</code> giving the namespace prefix for
* the new element
*
* @return the new <code>SOAPElement</code> object that was created
* @exception SOAPException if the <code>prefix</code> is not valid in the
* context of this <code>SOAPElement</code> or if there is an error in creating the
* <code>SOAPElement</code> object
*/
public SOAPElement addChildElement(String localName, String prefix)
throws SOAPException;
/**
* Creates a new <code>SOAPElement</code> object initialized with the
* specified local name, prefix, and URI and adds the new element to this
=1= |