/*
* Copyright (c) 2004, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package javax.xml.soap;
A representation of a node (element) in an XML document.
This interface extends 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
/**
* A representation of a node (element) in an XML document.
* This interface extends 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
*/
public interface Node extends org.w3c.dom.Node {
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.
/**
* Returns the value of this node if this is a {@code Text} node or the
* value of the immediate child of this node otherwise.
* If there is an immediate child of this {@code Node} that it is a
* {@code Text} node then it's value will be returned. If there is
* more than one {@code Text} node then the value of the first
* {@code Text} Node will be returned.
* Otherwise {@code null} is returned.
*
* @return a {@code String} with the text of this node if this is a
* {@code Text} node or the text contained by the first
* immediate child of this {@code Node} object that is a
* {@code Text} object if such a child exists;
* {@code null} otherwise.
*/
public String getValue();
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. Params: - value –
value
to set on the Text
node
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
/**
* 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 {@code Text} node, or if
* there are no children in which case a child {@code Text} node will be
* created.
*
* @param value {@code value} to set on the {@code Text} node
* @exception IllegalStateException if the node is not a {@code Text}
* node and either has more than one child node or has a child
* node that is not a {@code Text} node.
*
* @since 1.6, SAAJ 1.2
*/
public void setValue(String value);
Sets the parent of this Node
object to the given SOAPElement
object. Params: - 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:
/**
* Sets the parent of this {@code Node} object to the given
* {@code SOAPElement} object.
*
* @param parent the {@code SOAPElement} object to be set as
* the parent of this {@code Node} object
*
* @exception SOAPException if there is a problem in setting the
* parent to the given element
* @see #getParentElement
*/
public void setParentElement(SOAPElement parent) throws SOAPException;
Returns the parent element of this Node
object. This method can throw an UnsupportedOperationException
if the tree is not kept in memory. Throws: - UnsupportedOperationException – if the whole tree is not
kept in memory
See Also: Returns: the SOAPElement
object that is the parent of this Node
object or null
if this Node
object is root
/**
* Returns the parent element of this {@code Node} object.
* This method can throw an {@code UnsupportedOperationException}
* if the tree is not kept in memory.
*
* @return the {@code SOAPElement} object that is the parent of
* this {@code Node} object or {@code null} if this
* {@code Node} object is root
*
* @exception UnsupportedOperationException if the whole tree is not
* kept in memory
* @see #setParentElement
*/
public SOAPElement getParentElement();
Removes this Node
object from the tree. /**
* Removes this {@code Node} object from the tree.
*/
public void detachNode();
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.
/**
* Notifies the implementation that this {@code 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.
* <P>
* Calling the method {@code recycleNode} implies that the method
* {@code detachNode} has been called previously.
*/
public void recycleNode();
}