## javax.xml.soap
Interface SOAPElement

All Superinterfaces:
  org.w3c.dom.Element, Node, org.w3c.dom.Node

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

All Known Implementing Classes:
  Detail, DetailEntry, MessageElement, SOAPBody, SOAPBodyElement, SOAPEnvelope, SOAPFault, SOAPFaultElement, SOAPHeader, SOAPHeaderElement

public interface SOAPElement
extends Node, org.w3c.dom.Element

An object representing the contents in a `SOAPBody` object, the contents in a `SOAPHeader` object, the content that can follow the `SOAPBody` object in a `SOAPEnvelope` object, or what can follow the detail element in a `SOAPFault` object. It is the base class for all of the classes that represent the SOAP objects as defined in the SOAP specification.

Field Summary

Fields inherited from interface org.w3c.dom.Node
`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Method Summary
`SOAPElement` `addAttribute(Name name, java.lang.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(SOAPElement element)` Add a `SOAPElement` as a child of this `SOAPElement` instance.
`SOAPElement` `addChildElement(java.lang.String localName)` Creates a new `SOAPElement` object initialized with the given `String` object and adds the new element to this `SOAPElement` object.
`SOAPElement` `addChildElement(java.lang.String localName, java.lang.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(java.lang.String localName, java.lang.String prefix, java.lang.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(java.lang.String prefix, java.lang.String uri)` Adds a namespace declaration with the specified prefix and URI to this `SOAPElement` object.
`SOAPElement` `addTextNode(java.lang.String text)` Creates a new `Text` object initialized with the given `String` and adds it to this `SOAPElement` object.
`java.util.Iterator` `getAllAttributes()` Returns an iterator over all of the attribute names in this `SOAPElement` object.
`java.lang.String` `getAttributeValue(Name name)` Returns the value of the attribute with the specified name.
`java.util.Iterator` `getChildElements()` Returns an iterator over all the immediate content of this element.
`java.util.Iterator` `getChildElements(Name name)` Returns an iterator over all the child elements with the specified name.
`Name` `getElementName()` Returns the name of this `SOAPElement` object.
`java.lang.String` `getEncodingStyle()` Returns the encoding style for this `SOAPElement` object.
`java.util.Iterator` `getNamespacePrefixes()` Returns an iterator of namespace prefixes.
`java.lang.String` `getNamespaceURI(java.lang.String prefix)` Returns the URI of the namespace that has the given prefix.
`java.util.Iterator` `getVisibleNamespacePrefixes()` Returns an `Iterator` over the namespace prefix `String`s visible to this element.
`boolean` `removeAttribute(Name name)` Removes the attribute with the specified name.
`void` `removeContents()` Detaches all children of this `SOAPElement`.
`boolean` `removeNamespaceDeclaration(java.lang.String prefix)` Removes the namespace declaration corresponding to the given prefix.
`void` `setEncodingStyle(java.lang.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, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix`

Methods inherited from interface org.w3c.dom.Element
`getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS`

Method Detail

### addChildElement

    public 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.

  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

### addChildElement

    public SOAPElement addChildElement(java.lang.String localName)
                                throws SOAPException

  Creates a new `SOAPElement` object initialized with the given `String` object and adds the new element to this `SOAPElement` object.

  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

    public SOAPElement addChildElement(java.lang.String localName,
                                       java.lang.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 there is an error in creating the `SOAPElement` object

### addChildElement

    public SOAPElement addChildElement(java.lang.String localName,
                                       java.lang.String prefix,
                                       java.lang.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

    public 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 `SOAPElementFactory`. 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

### addTextNode

    public SOAPElement addTextNode(java.lang.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

### addAttribute

    public SOAPElement addAttribute(Name name,
                                    java.lang.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

### addNamespaceDeclaration

    public SOAPElement addNamespaceDeclaration(java.lang.String prefix,
                                               java.lang.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 prefix 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

    public java.lang.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

### getAllAttributes

    public java.util.Iterator getAllAttributes()

  Returns an iterator over all of the attribute names 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

### getNamespaceURI

    public java.lang.String getNamespaceURI(java.lang.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

    public java.util.Iterator getNamespacePrefixes()

  Returns an iterator of namespace prefixes. The iterator can be used to get the namespace prefixes, which can then be passed to the method `getNamespaceURI` to retrieve the URI of each namespace.

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

### getElementName

    public Name getElementName()

  Returns the name of this `SOAPElement` object.

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

### removeAttribute

    public 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

### removeNamespaceDeclaration

    public boolean removeNamespaceDeclaration(java.lang.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

    public java.util.Iterator getChildElements()

  Returns an iterator over all the immediate content of this element. This includes `Text` objects as well as `SOAPElement` objects.

  Returns:
    an iterator with the content of this `SOAPElement` object

### getChildElements

    public java.util.Iterator getChildElements(Name name)

  Returns an iterator over all the child elements with the specified name.

  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

### setEncodingStyle

    public void setEncodingStyle(java.lang.String encodingStyle)
                          throws SOAPException

  Sets the encoding style for this `SOAPElement` object to one specified.

  Parameters:
    `encodingStyle` - a `String` giving the encoding style
  Throws:
    `java.lang.IllegalArgumentException` - if there was a problem in the encoding style being set.
    `SOAPException`
  See Also:
    `getEncodingStyle()`

### getEncodingStyle

    public java.lang.String getEncodingStyle()

  Returns the encoding style for this `SOAPElement` object.

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

### removeContents

    public void removeContents()

  Detaches all children of this `SOAPElement`.

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

### getVisibleNamespacePrefixes

    public java.util.Iterator getVisibleNamespacePrefixes()

  Returns an `Iterator` over the namespace prefix `String`s 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

Copyright © 2005 Apache Web Services Project. All Rights Reserved.