-
- 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()
andjavax.xml.soap
for details.- Since:
- 1.6
-
-
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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SOAPElement
addAttribute(QName qname, String value)
Adds an attribute with the specified name and value to thisSOAPElement
object.SOAPElement
addAttribute(Name name, String value)
Adds an attribute with the specified name and value to thisSOAPElement
object.SOAPElement
addChildElement(String localName)
Creates a newSOAPElement
object initialized with the specified local name and adds the new element to thisSOAPElement
object.SOAPElement
addChildElement(String localName, String prefix)
Creates a newSOAPElement
object initialized with the specified local name and prefix and adds the new element to thisSOAPElement
object.SOAPElement
addChildElement(String localName, String prefix, String uri)
Creates a newSOAPElement
object initialized with the specified local name, prefix, and URI and adds the new element to thisSOAPElement
object.SOAPElement
addChildElement(QName qname)
Creates a newSOAPElement
object initialized with the givenQName
object and adds the new element to thisSOAPElement
object.SOAPElement
addChildElement(Name name)
Creates a newSOAPElement
object initialized with the givenName
object and adds the new element to thisSOAPElement
object.SOAPElement
addChildElement(SOAPElement element)
Add aSOAPElement
as a child of thisSOAPElement
instance.SOAPElement
addNamespaceDeclaration(String prefix, String uri)
Adds a namespace declaration with the specified prefix and URI to thisSOAPElement
object.SOAPElement
addTextNode(String text)
Creates a newText
object initialized with the givenString
and adds it to thisSOAPElement
object.QName
createQName(String localName, String prefix)
Creates aQName
whose namespace URI is the one associated with the parameter,prefix
, in the context of thisSOAPElement
.Iterator<Name>
getAllAttributes()
Returns anIterator
over all of the attributeName
objects in thisSOAPElement
object.Iterator<QName>
getAllAttributesAsQNames()
Returns anIterator
over all of the attributes in thisSOAPElement
asQName
objects.String
getAttributeValue(QName qname)
Returns the value of the attribute with the specified qname.String
getAttributeValue(Name name)
Returns the value of the attribute with the specified name.Iterator<Node>
getChildElements()
Returns anIterator
over all the immediate childNode
s of this element.Iterator<Node>
getChildElements(QName qname)
Returns anIterator
over all the immediate childNode
s of this element with the specified qname.Iterator<Node>
getChildElements(Name name)
Returns anIterator
over all the immediate childNode
s of this element with the specified name.Name
getElementName()
Returns the name of thisSOAPElement
object.QName
getElementQName()
Returns the qname of thisSOAPElement
object.String
getEncodingStyle()
Returns the encoding style for thisSOAPElement
object.Iterator<String>
getNamespacePrefixes()
Returns anIterator
over the namespace prefixString
s declared by this element.String
getNamespaceURI(String prefix)
Returns the URI of the namespace that has the given prefix.Iterator<String>
getVisibleNamespacePrefixes()
Returns anIterator
over the namespace prefixString
s visible to this element.boolean
removeAttribute(QName qname)
Removes the attribute with the specified qname.boolean
removeAttribute(Name name)
Removes the attribute with the specified name.void
removeContents()
Detaches all children of thisSOAPElement
.boolean
removeNamespaceDeclaration(String prefix)
Removes the namespace declaration corresponding to the given prefix.SOAPElement
setElementQName(QName newName)
Changes the name of thisElement
tonewName
if possible.void
setEncodingStyle(String encodingStyle)
Sets the encoding style for thisSOAPElement
object to one specified.-
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 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
-
-
-
-
Method Detail
-
addChildElement
SOAPElement addChildElement(Name name) throws SOAPException
Creates a newSOAPElement
object initialized with the givenName
object and adds the new element to thisSOAPElement
object.This method may be deprecated in a future release of SAAJ in favor of addChildElement(javax.xml.namespace.QName)
- Parameters:
name
- aName
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 theSOAPElement
object- See Also:
addChildElement(javax.xml.namespace.QName)
-
addChildElement
SOAPElement addChildElement(QName qname) throws SOAPException
Creates a newSOAPElement
object initialized with the givenQName
object and adds the new element to thisSOAPElement
object. The namespace, localname and prefix of the newSOAPElement
are all taken from theqname
argument.- Parameters:
qname
- aQName
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 theSOAPElement
object- Since:
- 1.6, SAAJ 1.3
- See Also:
addChildElement(Name)
-
addChildElement
SOAPElement addChildElement(String localName) throws SOAPException
Creates a newSOAPElement
object initialized with the specified local name and adds the new element to thisSOAPElement
object. The newSOAPElement
inherits any in-scope default namespace.- Parameters:
localName
- aString
giving the local name for the element- Returns:
- the new
SOAPElement
object that was created - Throws:
SOAPException
- if there is an error in creating theSOAPElement
object
-
addChildElement
SOAPElement addChildElement(String localName, String prefix) throws SOAPException
Creates a newSOAPElement
object initialized with the specified local name and prefix and adds the new element to thisSOAPElement
object.- Parameters:
localName
- aString
giving the local name for the new elementprefix
- aString
giving the namespace prefix for the new element- Returns:
- the new
SOAPElement
object that was created - Throws:
SOAPException
- if theprefix
is not valid in the context of thisSOAPElement
or if there is an error in creating theSOAPElement
object
-
addChildElement
SOAPElement addChildElement(String localName, String prefix, String uri) throws SOAPException
Creates a newSOAPElement
object initialized with the specified local name, prefix, and URI and adds the new element to thisSOAPElement
object.- Parameters:
localName
- aString
giving the local name for the new elementprefix
- aString
giving the namespace prefix for the new elementuri
- aString
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 theSOAPElement
object
-
addChildElement
SOAPElement addChildElement(SOAPElement element) throws SOAPException
Add aSOAPElement
as a child of thisSOAPElement
instance. TheSOAPElement
is expected to be created by aSOAPFactory
. Callers should not rely on the element instance being added as is into the XML tree. Implementations could end up copying the content of theSOAPElement
passed into an instance of a differentSOAPElement
implementation. For instance ifaddChildElement()
is called on aSOAPHeader
,element
will be copied into an instance of aSOAPHeaderElement
.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
- theSOAPElement
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 thisSOAPElement
.This method is useful for rolling back the construction of partially completed
SOAPHeaders
andSOAPBodys
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:
- 1.6, SAAJ 1.2
-
addTextNode
SOAPElement addTextNode(String text) throws SOAPException
Creates a newText
object initialized with the givenString
and adds it to thisSOAPElement
object.- Parameters:
text
- aString
object with the textual content to be added- Returns:
- the
SOAPElement
object into which the newText
object was inserted - Throws:
SOAPException
- if there is an error in creating the newText
object or if it is not legal to attach it as a child to thisSOAPElement
-
addAttribute
SOAPElement addAttribute(Name name, String value) throws SOAPException
Adds an attribute with the specified name and value to thisSOAPElement
object.- Parameters:
name
- aName
object with the name of the attributevalue
- aString
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 withName
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 thisSOAPElement
object.- Parameters:
qname
- aQName
object with the name of the attributevalue
- aString
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 withQName
qname
on this SOAPElement.- Since:
- 1.6, 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 thisSOAPElement
object.- Parameters:
prefix
- aString
giving the prefix of the namespaceuri
- aString
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
- aName
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
- aQName
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:
- 1.6, SAAJ 1.3
- See Also:
getAttributeValue(Name)
-
getAllAttributes
Iterator<Name> getAllAttributes()
Returns anIterator
over all of the attributeName
objects in thisSOAPElement
object. The iterator can be used to get the attribute names, which can then be passed to the methodgetAttributeValue
to retrieve the value of each attribute.- Returns:
- an iterator over the names of the attributes
- See Also:
getAllAttributesAsQNames()
-
getAllAttributesAsQNames
Iterator<QName> getAllAttributesAsQNames()
Returns anIterator
over all of the attributes in thisSOAPElement
asQName
objects. The iterator can be used to get the attribute QName, which can then be passed to the methodgetAttributeValue
to retrieve the value of each attribute.- Returns:
- an iterator over the QNames of the attributes
- Since:
- 1.6, SAAJ 1.3
- See Also:
getAllAttributes()
-
getNamespaceURI
String getNamespaceURI(String prefix)
Returns the URI of the namespace that has the given prefix.- Parameters:
prefix
- aString
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<String> getNamespacePrefixes()
Returns anIterator
over the namespace prefixString
s declared by this element. The prefixes returned by this iterator can be passed to the methodgetNamespaceURI
to retrieve the URI of each namespace.- Returns:
- an iterator over the namespace prefixes in this
SOAPElement
object
-
getVisibleNamespacePrefixes
Iterator<String> getVisibleNamespacePrefixes()
Returns anIterator
over the namespace prefixString
s visible to this element. The prefixes returned by this iterator can be passed to the methodgetNamespaceURI
to retrieve the URI of each namespace.- Returns:
- an iterator over the namespace prefixes are within scope of this
SOAPElement
object - Since:
- 1.6, SAAJ 1.2
-
createQName
QName createQName(String localName, String prefix) throws SOAPException
Creates aQName
whose namespace URI is the one associated with the parameter,prefix
, in the context of thisSOAPElement
. The remaining elements of the newQName
are taken directly from the parameters,localName
andprefix
.- Parameters:
localName
- aString
containing the local part of the name.prefix
- aString
containing the prefix for the name.- Returns:
- a
QName
with the specifiedlocalName
andprefix
, and with a namespace that is associated with theprefix
in the context of thisSOAPElement
. This namespace will be the same as the one that would be returned bygetNamespaceURI(String)
if it were givenprefix
as it's parameter. - Throws:
SOAPException
- if theQName
cannot be created.- Since:
- 1.6, SAAJ 1.3
-
getElementName
Name getElementName()
Returns the name of thisSOAPElement
object.- Returns:
- a
Name
object with the name of thisSOAPElement
object
-
getElementQName
QName getElementQName()
Returns the qname of thisSOAPElement
object.- Returns:
- a
QName
object with the qname of thisSOAPElement
object - Since:
- 1.6, SAAJ 1.3
- See Also:
getElementName()
-
setElementQName
SOAPElement setElementQName(QName newName) throws SOAPException
Changes the name of thisElement
tonewName
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 theElement
.- Returns:
- The renamed Node
- Throws:
SOAPException
- if changing the name of thisElement
is not allowed.- Since:
- 1.6, SAAJ 1.3
-
removeAttribute
boolean removeAttribute(Name name)
Removes the attribute with the specified name.- Parameters:
name
- theName
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
- theQName
object with the qname of the attribute to be removed- Returns:
true
if the attribute was removed successfully;false
if it was not- Since:
- 1.6, SAAJ 1.3
- See Also:
removeAttribute(Name)
-
removeNamespaceDeclaration
boolean removeNamespaceDeclaration(String prefix)
Removes the namespace declaration corresponding to the given prefix.- Parameters:
prefix
- aString
giving the prefix for which to search- Returns:
true
if the namespace declaration was removed successfully;false
if it was not
-
getChildElements
Iterator<Node> getChildElements()
Returns anIterator
over all the immediate childNode
s of this element. This includesjavax.xml.soap.Text
objects as well asSOAPElement
objects.Calling this method must cause child
Element
,SOAPElement
andorg.w3c.dom.Text
nodes to be replaced bySOAPElement
,SOAPHeaderElement
,SOAPBodyElement
orjavax.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 thisIterator
. This behavior can be avoided by calling the equivalent DOM APIs. Seejavax.xml.soap
for more details.- Returns:
- an iterator with the content of this
SOAPElement
object
-
getChildElements
Iterator<Node> getChildElements(Name name)
Returns anIterator
over all the immediate childNode
s of this element with the specified name. All of these children will beSOAPElement
nodes.Calling this method must cause child
Element
,SOAPElement
andorg.w3c.dom.Text
nodes to be replaced bySOAPElement
,SOAPHeaderElement
,SOAPBodyElement
orjavax.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 thisIterator
. This behavior can be avoided by calling the equivalent DOM APIs. Seejavax.xml.soap
for more details.- Parameters:
name
- aName
object with the name of the child elements to be returned- Returns:
- an
Iterator
object over all the elements in thisSOAPElement
object with the specified name - See Also:
getChildElements(javax.xml.namespace.QName)
-
getChildElements
Iterator<Node> getChildElements(QName qname)
Returns anIterator
over all the immediate childNode
s of this element with the specified qname. All of these children will beSOAPElement
nodes.Calling this method must cause child
Element
,SOAPElement
andorg.w3c.dom.Text
nodes to be replaced bySOAPElement
,SOAPHeaderElement
,SOAPBodyElement
orjavax.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 thisIterator
. This behavior can be avoided by calling the equivalent DOM APIs. Seejavax.xml.soap
for more details.- Parameters:
qname
- aQName
object with the qname of the child elements to be returned- Returns:
- an
Iterator
object over all the elements in thisSOAPElement
object with the specified qname - Since:
- 1.6, SAAJ 1.3
- See Also:
getChildElements(Name)
-
setEncodingStyle
void setEncodingStyle(String encodingStyle) throws SOAPException
Sets the encoding style for thisSOAPElement
object to one specified.- Parameters:
encodingStyle
- aString
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 thisSOAPElement
object.- Returns:
- a
String
giving the encoding style - See Also:
setEncodingStyle(java.lang.String)
-
-