Module java.xml.ws
Package javax.xml.soap

## Interface Node

All Superinterfaces:
  Node

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

All Known Implementing Classes:
  SOAPPart

    public interface Node
    extends Node

A representation of a node (element) in an XML document. This interface extnends the standard DOM Node interface with methods for getting and setting the value of a node, for getting and setting the parent of a node, and for removing a node.

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
`void` `detachNode()` Removes this `Node` object from the tree.
`SOAPElement` `getParentElement()` Returns the parent element of this `Node` object.
`String` `getValue()` Returns the value of this node if this is a `Text` node or the value of the immediate child of this node otherwise.
`void` `recycleNode()` Notifies the implementation that this `Node` object is no longer being used by the application and that the implementation is free to reuse this object for nodes that may be created later.
`void` `setParentElement(SOAPElement parent)` Sets the parent of this `Node` object to the given `SOAPElement` object.
`void` `setValue(String value)` If this is a Text node then this method will set its value, otherwise it sets the value of the immediate (Text) child of this node.

### 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

#### getValue

    String getValue()

Returns the value of this node if this is a `Text` node or the value of the immediate child of this node otherwise. If there is an immediate child of this `Node` that it is a `Text` node then it's value will be returned. If there is more than one `Text` node then the value of the first `Text` Node will be returned. Otherwise `null` is returned.

Returns:
  a `String` with the text of this node if this is a `Text` node or the text contained by the first immediate child of this `Node` object that is a `Text` object if such a child exists; `null` otherwise.

#### setValue

    void setValue(String value)

If this is a Text node then this method will set its value, otherwise it sets the value of the immediate (Text) child of this node. The value of the immediate child of this node can be set only if, there is one child node and that node is a `Text` node, or if there are no children in which case a child `Text` node will be created.

Throws:
  `IllegalStateException` - if the node is not a `Text` node and either has more than one child node or has a child node that is not a `Text` node.
Since:
  1.6, SAAJ 1.2

#### setParentElement

    void setParentElement(SOAPElement parent)
                   throws SOAPException

Sets the parent of this `Node` object to the given `SOAPElement` object.

Parameters:
  `parent` - the `SOAPElement` object to be set as the parent of this `Node` object
Throws:
  `SOAPException` - if there is a problem in setting the parent to the given element
See Also:
  `getParentElement()`

#### getParentElement

    SOAPElement getParentElement()

Returns the parent element of this `Node` object. This method can throw an `UnsupportedOperationException` if the tree is not kept in memory.

Returns:
  the `SOAPElement` object that is the parent of this `Node` object or `null` if this `Node` object is root
Throws:
  `UnsupportedOperationException` - if the whole tree is not kept in memory
See Also:
  `setParentElement(javax.xml.soap.SOAPElement)`

#### detachNode

    void detachNode()

Removes this `Node` object from the tree.

#### recycleNode

    void recycleNode()

Notifies the implementation that this `Node` object is no longer being used by the application and that the implementation is free to reuse this object for nodes that may be created later.

Calling the method `recycleNode` implies that the method `detachNode` has been called previously.