javax.xml.soap
Interface SOAPElement

All Superinterfaces:
Element, Node
All Known Subinterfaces:
Detail, DetailEntry, SOAPBody, SOAPBodyElement, SOAPEnvelope, SOAPFault, SOAPFaultElement, SOAPHeader, SOAPHeaderElement

public interface SOAPElement
extends Node, Element

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.

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 getChildElements() and javax.xml.soap for details.


Field Summary
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Method Summary
 SOAPElement addAttribute(Name name, String value)
          Adds an attribute with the specified name and value to this SOAPElement object.
 SOAPElement addAttribute(QName qname, String value)
          Adds an attribute with the specified name and value to this SOAPElement object.
 SOAPElement addChildElement(Name name)
          Creates a new SOAPElement object initialized with the given Name object and adds the new element to this SOAPElement object.
 SOAPElement addChildElement(QName qname)
          Creates a new SOAPElement object initialized with the given QName object and adds the new element to this SOAPElement object.
 SOAPElement addChildElement(SOAPElement element)
          Add a SOAPElement as a child of this SOAPElement instance.
 SOAPElement addChildElement(String localName)
          Creates a new SOAPElement object initialized with the specified local name and adds the new element to this SOAPElement object.
 SOAPElement addChildElement(String localName, String prefix)
          Creates a new SOAPElement object initialized with the specified local name and prefix and adds the new element to this SOAPElement object.
 SOAPElement addChildElement(String localName, String prefix, String uri)
          Creates a new SOAPElement object initialized with the specified local name, prefix, and URI and adds the new element to this SOAPElement object.
 SOAPElement addNamespaceDeclaration(String prefix, String uri)
          Adds a namespace declaration with the specified prefix and URI to this SOAPElement object.
 SOAPElement addTextNode(String text)
          Creates a new Text object initialized with the given String and adds it to this SOAPElement object.
 QName createQName(String localName, String prefix)
          Creates a QName whose namespace URI is the one associated with the parameter, prefix, in the context of this SOAPElement.
 Iterator getAllAttributes()
          Returns an Iterator over all of the attribute Name objects in this SOAPElement object.
 Iterator getAllAttributesAsQNames()
          Returns an Iterator over all of the attributes in this SOAPElement as QName objects.
 String getAttributeValue(Name name)
          Returns the value of the attribute with the specified name.
 String getAttributeValue(QName qname)
          Returns the value of the attribute with the specified qname.
 Iterator getChildElements()
          Returns an Iterator over all the immediate child Nodes of this element.
 Iterator getChildElements(Name name)
          Returns an Iterator over all the immediate child Nodes of this element with the specified name.
 Iterator getChildElements(QName qname)
          Returns an Iterator over all the immediate child Nodes of this element with the specified qname.
 Name getElementName()
          Returns the name of this SOAPElement object.
 QName getElementQName()
          Returns the qname of this SOAPElement object.
 String getEncodingStyle()
          Returns the encoding style for this SOAPElement object.
 Iterator getNamespacePrefixes()
          Returns an Iterator over the namespace prefix Strings declared by this element.
 String getNamespaceURI(String prefix)
          Returns the URI of the namespace that has the given prefix.
 Iterator getVisibleNamespacePrefixes()
          Returns an Iterator over the namespace prefix Strings visible to this element.
 boolean removeAttribute(Name name)
          Removes the attribute with the specified name.
 boolean removeAttribute(QName qname)
          Removes the attribute with the specified qname.
 void removeContents()
          Detaches all children of this SOAPElement.
 boolean removeNamespaceDeclaration(String prefix)
          Removes the namespace declaration corresponding to the given prefix.
 SOAPElement setElementQName(QName newName)
          Changes the name of this Element to newName if possible.
 void setEncodingStyle(String encodingStyle)
          Sets the encoding style for this SOAPElement object to one specified.
 
Methods inherited from interface javax.xml.soap.Node
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 
Methods inherited from interface org.w3c.dom.Element
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

Method Detail

addChildElement

SOAPElement addChildElement(Name name)
                            throws SOAPException
Creates a new SOAPElement object initialized with the given Name object and adds the new element to this SOAPElement object.

This method may be deprecated in a future release of SAAJ in favor of addChildElement(javax.xml.namespace.QName)

Parameters:
name - a Name object with the XML name for the new element
Returns:
the new SOAPElement object that was created
Throws:
SOAPException - if there is an error in creating the SOAPElement object
See Also:
addChildElement(javax.xml.namespace.QName)

addChildElement

SOAPElement addChildElement(QName qname)
                            throws SOAPException
Creates a new SOAPElement object initialized with the given QName object and adds the new element to this SOAPElement object. The namespace, localname and prefix of the new SOAPElement are all taken from the qname argument.

Parameters:
qname - a QName object with the XML name for the new element
Returns:
the new SOAPElement object that was created
Throws:
SOAPException - if there is an error in creating the SOAPElement object
Since:
SAAJ 1.3
See Also:
addChildElement(Name)

addChildElement

SOAPElement addChildElement(String localName)
                            throws SOAPException
Creates a new SOAPElement object initialized with the specified local name and adds the new element to this SOAPElement object. The new SOAPElement inherits any in-scope default namespace.

Parameters:
localName - a String giving the local name for the element
Returns:
the new SOAPElement object that was created
Throws:
SOAPException - if there is an error in creating the SOAPElement object

addChildElement

SOAPElement addChildElement(String localName,
                            String prefix)
                            throws SOAPException
Creates a new SOAPElement object initialized with the specified local name and prefix and adds the new element to this SOAPElement object.

Parameters:
localName - a String giving the local name for the new element
prefix - a String giving the namespace prefix for the new element
Returns:
the new SOAPElement object that was created
Throws:
SOAPException - if the prefix is not valid in the context of this SOAPElement or if there is an error in creating the SOAPElement object

addChildElement

SOAPElement addChildElement(String localName,
                            String prefix,
                            String uri)
                            throws SOAPException
Creates a new SOAPElement object initialized with the specified local name, prefix, and URI and adds the new element to this SOAPElement object.

Parameters:
localName - a String giving the local name for the new element
prefix - a String giving the namespace prefix for the new element
uri - a String giving the URI of the namespace to which the new element belongs
Returns:
the new SOAPElement object that was created
Throws:
SOAPException - if there is an error in creating the SOAPElement object

addChildElement

SOAPElement addChildElement(SOAPElement element)
                            throws SOAPException
Add a SOAPElement as a child of this SOAPElement instance. The SOAPElement is expected to be created by a SOAPFactory. Callers should not rely on the element instance being added as is into the XML tree. Implementations could end up copying the content of the SOAPElement passed into an instance of a different SOAPElement implementation. For instance if addChildElement() is called on a SOAPHeader, element will be copied into an instance of a SOAPHeaderElement.

The fragment rooted in element is either added as a whole or not at all, if there was an error.

The fragment rooted in element cannot contain elements named "Envelope", "Header" or "Body" and in the SOAP namespace. Any namespace prefixes present in the fragment should be fully resolved using appropriate namespace declarations within the fragment itself.

Parameters:
element - the SOAPElement to be added as a new child
Returns:
an instance representing the new SOAP element that was actually added to the tree.
Throws:
SOAPException - if there was an error in adding this element as a child

removeContents

void removeContents()
Detaches all children of this SOAPElement.

This method is useful for rolling back the construction of partially completed SOAPHeaders and SOAPBodys in preparation for sending a fault when an error condition is detected. It is also useful for recycling portions of a document within a SOAP message.

Since:
SAAJ 1.2

addTextNode

SOAPElement addTextNode(String text)
                        throws SOAPException
Creates a new Text object initialized with the given String and adds it to this SOAPElement object.

Parameters:
text - a String object with the textual content to be added
Returns:
the SOAPElement object into which the new Text object was inserted
Throws:
SOAPException - if there is an error in creating the new Text object or if it is not legal to attach it as a child to this SOAPElement

addAttribute

SOAPElement addAttribute(Name name,
                         String value)
                         throws SOAPException
Adds an attribute with the specified name and value to this SOAPElement object.

Parameters:
name - a Name object with the name of the attribute
value - a String giving the value of the attribute
Returns:
the SOAPElement object into which the attribute was inserted
Throws:
SOAPException - if there is an error in creating the Attribute, or it is invalid to set an attribute with Name name on this SOAPElement.
See Also:
addAttribute(javax.xml.namespace.QName, String)

addAttribute

SOAPElement addAttribute(QName qname,
                         String value)
                         throws SOAPException
Adds an attribute with the specified name and value to this SOAPElement object.

Parameters:
qname - a QName object with the name of the attribute
value - a String giving the value of the attribute
Returns:
the SOAPElement object into which the attribute was inserted
Throws:
SOAPException - if there is an error in creating the Attribute, or it is invalid to set an attribute with QName qname on this SOAPElement.
Since:
SAAJ 1.3
See Also:
addAttribute(Name, String)

addNamespaceDeclaration

SOAPElement addNamespaceDeclaration(String prefix,
                                    String uri)
                                    throws SOAPException
Adds a namespace declaration with the specified prefix and URI to this SOAPElement object.

Parameters:
prefix - a String giving the prefix of the namespace
uri - a String giving the uri of the namespace
Returns:
the SOAPElement object into which this namespace declaration was inserted.
Throws:
SOAPException - if there is an error in creating the namespace

getAttributeValue

String getAttributeValue(Name name)
Returns the value of the attribute with the specified name.

Parameters:
name - a Name object with the name of the attribute
Returns:
a String giving the value of the specified attribute, Null if there is no such attribute
See Also:
getAttributeValue(javax.xml.namespace.QName)

getAttributeValue

String getAttributeValue(QName qname)
Returns the value of the attribute with the specified qname.

Parameters:
qname - a QName object with the qname of the attribute
Returns:
a String giving the value of the specified attribute, Null if there is no such attribute
Since:
SAAJ 1.3
See Also:
getAttributeValue(Name)

getAllAttributes

Iterator getAllAttributes()
Returns an Iterator over all of the attribute Name objects in this SOAPElement object. The iterator can be used to get the attribute names, which can then be passed to the method getAttributeValue to retrieve the value of each attribute.

Returns:
an iterator over the names of the attributes
See Also:
getAllAttributesAsQNames()

getAllAttributesAsQNames

Iterator getAllAttributesAsQNames()
Returns an Iterator over all of the attributes in this SOAPElement as QName objects. The iterator can be used to get the attribute QName, which can then be passed to the method getAttributeValue to retrieve the value of each attribute.

Returns:
an iterator over the QNames of the attributes
Since:
SAAJ 1.3
See Also:
getAllAttributes()

getNamespaceURI

String getNamespaceURI(String prefix)
Returns the URI of the namespace that has the given prefix.

Parameters:
prefix - a String giving the prefix of the namespace for which to search
Returns:
a String with the uri of the namespace that has the given prefix

getNamespacePrefixes

Iterator getNamespacePrefixes()
Returns an Iterator over the namespace prefix Strings declared by this element. The prefixes returned by this iterator can be passed to the method getNamespaceURI to retrieve the URI of each namespace.

Returns:
an iterator over the namespace prefixes in this SOAPElement object

getVisibleNamespacePrefixes

Iterator getVisibleNamespacePrefixes()
Returns an Iterator over the namespace prefix Strings visible to this element. The prefixes returned by this iterator can be passed to the method getNamespaceURI to retrieve the URI of each namespace.

Returns:
an iterator over the namespace prefixes are within scope of this SOAPElement object
Since:
SAAJ 1.2

createQName

QName createQName(String localName,
                  String prefix)
                  throws SOAPException
Creates a QName whose namespace URI is the one associated with the parameter, prefix, in the context of this SOAPElement. The remaining elements of the new QName are taken directly from the parameters, localName and prefix.

Parameters:
localName - a String containing the local part of the name.
prefix - a String containing the prefix for the name.
Returns:
a QName with the specified localName and prefix, and with a namespace that is associated with the prefix in the context of this SOAPElement. This namespace will be the same as the one that would be returned by getNamespaceURI(String) if it were given prefix as it's parameter.
Throws:
SOAPException - if the QName cannot be created.
Since:
SAAJ 1.3

getElementName

Name getElementName()
Returns the name of this SOAPElement object.

Returns:
a Name object with the name of this SOAPElement object

getElementQName

QName getElementQName()
Returns the qname of this SOAPElement object.

Returns:
a QName object with the qname of this SOAPElement object
Since:
SAAJ 1.3
See Also:
getElementName()

setElementQName

SOAPElement setElementQName(QName newName)
                            throws SOAPException
Changes the name of this Element to newName if possible. SOAP Defined elements such as SOAPEnvelope, SOAPHeader, SOAPBody etc. cannot have their names changed using this method. Any attempt to do so will result in a SOAPException being thrown.

Callers should not rely on the element instance being renamed as is. Implementations could end up copying the content of the SOAPElement to a renamed instance.

Parameters:
newName - the new name for the Element.
Returns:
The renamed Node
Throws:
SOAPException - if changing the name of this Element is not allowed.
Since:
SAAJ 1.3

removeAttribute

boolean removeAttribute(Name name)
Removes the attribute with the specified name.

Parameters:
name - the Name object with the name of the attribute to be removed
Returns:
true if the attribute was removed successfully; false if it was not
See Also:
removeAttribute(javax.xml.namespace.QName)

removeAttribute

boolean removeAttribute(QName qname)
Removes the attribute with the specified qname.

Parameters:
qname - the QName object with the qname of the attribute to be removed
Returns:
true if the attribute was removed successfully; false if it was not
Since:
SAAJ 1.3
See Also:
removeAttribute(Name)

removeNamespaceDeclaration

boolean removeNamespaceDeclaration(String prefix)
Removes the namespace declaration corresponding to the given prefix.

Parameters:
prefix - a String giving the prefix for which to search
Returns:
true if the namespace declaration was removed successfully; false if it was not

getChildElements

Iterator getChildElements()
Returns an Iterator over all the immediate child Nodes of this element. This includes javax.xml.soap.Text objects as well as SOAPElement objects.

Calling this method may cause child Element, SOAPElement and org.w3c.dom.Text nodes to be replaced by SOAPElement, SOAPHeaderElement, SOAPBodyElement or javax.xml.soap.Text nodes as appropriate for the type of this parent node. As a result the calling application must treat any existing references to these child nodes that have been obtained through DOM APIs as invalid and either discard them or refresh them with the values returned by this Iterator. This behavior can be avoided by calling the equivalent DOM APIs. See javax.xml.soap for more details.

Returns:
an iterator with the content of this SOAPElement object

getChildElements

Iterator getChildElements(Name name)
Returns an Iterator over all the immediate child Nodes of this element with the specified name. All of these children will be SOAPElement nodes.

Calling this method may cause child Element, SOAPElement and org.w3c.dom.Text nodes to be replaced by SOAPElement, SOAPHeaderElement, SOAPBodyElement or javax.xml.soap.Text nodes as appropriate for the type of this parent node. As a result the calling application must treat any existing references to these child nodes that have been obtained through DOM APIs as invalid and either discard them or refresh them with the values returned by this Iterator. This behavior can be avoided by calling the equivalent DOM APIs. See javax.xml.soap for more details.

Parameters:
name - a Name object with the name of the child elements to be returned
Returns:
an Iterator object over all the elements in this SOAPElement object with the specified name
See Also:
getChildElements(javax.xml.namespace.QName)

getChildElements

Iterator getChildElements(QName qname)
Returns an Iterator over all the immediate child Nodes of this element with the specified qname. All of these children will be SOAPElement nodes.

Calling this method may cause child Element, SOAPElement and org.w3c.dom.Text nodes to be replaced by SOAPElement, SOAPHeaderElement, SOAPBodyElement or javax.xml.soap.Text nodes as appropriate for the type of this parent node. As a result the calling application must treat any existing references to these child nodes that have been obtained through DOM APIs as invalid and either discard them or refresh them with the values returned by this Iterator. This behavior can be avoided by calling the equivalent DOM APIs. See javax.xml.soap for more details.

Parameters:
qname - a QName object with the qname of the child elements to be returned
Returns:
an Iterator object over all the elements in this SOAPElement object with the specified qname
Since:
SAAJ 1.3
See Also:
getChildElements(Name)

setEncodingStyle

void setEncodingStyle(String encodingStyle)
                      throws SOAPException
Sets the encoding style for this SOAPElement object to one specified.

Parameters:
encodingStyle - a String giving the encoding style
Throws:
IllegalArgumentException - if there was a problem in the encoding style being set.
SOAPException - if setting the encodingStyle is invalid for this SOAPElement.
See Also:
getEncodingStyle()

getEncodingStyle

String getEncodingStyle()
Returns the encoding style for this SOAPElement object.

Returns:
a String giving the encoding style
See Also:
setEncodingStyle(java.lang.String)


Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.