org.apache.axis2.saaj
Class NodeImplEx

java.lang.Object
  extended byorg.apache.axis2.om.impl.dom.NodeImpl
      extended byorg.apache.axis2.saaj.NodeImplEx
All Implemented Interfaces:
Cloneable, Node, Node, NodeList, OMNode, OMNodeEx
Direct Known Subclasses:
SOAPElementImpl, TextImplEx

public abstract class NodeImplEx
extends NodeImpl
implements Node

A representation of a node (element) in a DOM representation of an XML document that provides some tree manipulation methods. This interface provides methods for getting the value of a node, for getting and setting the parent of a node, and for removing a node.


Field Summary
 
Fields inherited from class org.apache.axis2.om.impl.dom.NodeImpl
builder, done, FIRSTCHILD, flags, nodeType, NORMALIZED, OWNED, ownerNode, READONLY, SPECIFIED
 
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
 
Fields inherited from interface org.apache.axis2.om.OMNode
CDATA_SECTION_NODE, COMMENT_NODE, DTD_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, PI_NODE, SPACE_NODE, TEXT_NODE
 
Constructor Summary
NodeImplEx()
           
 
Method Summary
 void detachNode()
          Removes this Node object from the tree.
 OMContainer getParent()
          Returns the parent containing node.
 SOAPElement getParentElement()
          Removes this Node object from the tree.
 int getType()
          Returns the type of node.
 String getValue()
          Returns the the value of the immediate child of this Node object if a child exists and its valu e is text.
 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 setType(int nodeType)
           
 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 class org.apache.axis2.om.impl.dom.NodeImpl
appendChild, build, cloneNode, compareDocumentPosition, detach, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLength, getLocalName, getNamespaceURI, getNextOMSibling, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousOMSibling, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, insertSiblingAfter, insertSiblingBefore, isComplete, isDefaultNamespace, isEqualNode, isSameNode, isSupported, item, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, serialize, serialize, serialize, serialize, serialize, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeWithCache, setComplete, setNextOMSibling, setNodeValue, setOwnerDocument, setPrefix, setPreviousOMSibling, setTextContent, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
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.apache.axis2.om.impl.OMNodeEx
serialize, serializeAndConsume, setParent
 
Methods inherited from interface org.apache.axis2.om.OMNode
discard
 

Constructor Detail

NodeImplEx

public NodeImplEx()
Method Detail

detachNode

public void detachNode()
Removes this Node object from the tree. Once removed, this node can be garbage collected if there are no application references to it.

Specified by:
detachNode in interface Node

getParentElement

public SOAPElement getParentElement()
Removes this Node object from the tree. Once removed, this node can be garbage collected if there are no application references to it.

Specified by:
getParentElement in interface Node

getParent

public OMContainer getParent()
Description copied from interface: OMNode
Returns the parent containing node.

Returns the parent container, which may be either an OMDocument or OMElement.

Specified by:
getParent in interface OMNode
Overrides:
getParent in class NodeImpl

getValue

public String getValue()
Returns the the value of the immediate child of this Node object if a child exists and its valu e is text.

Specified by:
getValue in interface Node
Returns:
a String with the text of the immediate child of this Node object if (1) there is a child and (2) the child is a Text object; null otherwise

recycleNode

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

Specified by:
recycleNode in interface Node

setParentElement

public void setParentElement(SOAPElement parent)
                      throws SOAPException
Sets the parent of this Node object to the given SOAPElement object.

Specified by:
setParentElement in interface Node
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()

setValue

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

Specified by:
setValue in interface Node
Parameters:
value - the text to set
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

setType

public void setType(int nodeType)
             throws OMException
Specified by:
setType in interface OMNodeEx
Throws:
OMException

getType

public int getType()
Description copied from interface: OMNode
Returns the type of node.

Specified by:
getType in interface OMNode
Returns:
Returns one of OMNode.ELEMENT_NODE, OMNode.TEXT_NODE, OMNode.CDATA_SECTION_NODE, OMNode.COMMENT_NODE, OMNode.DTD_NODE, OMNode.PI_NODE, OMNode.ENTITY_REFERENCE_NODE, OMNode.SPACE_NODE, or OMNode.TEXT_NODE.