org.apache.axis.message
Class MessageElement

java.lang.Object
  extended byorg.apache.axis.message.NodeImpl
      extended byorg.apache.axis.message.MessageElement
All Implemented Interfaces:
java.lang.Cloneable, org.w3c.dom.Element, org.w3c.dom.Node, Node, org.w3c.dom.NodeList, java.io.Serializable, SOAPElement
Direct Known Subclasses:
DetailEntry, RPCParam, SOAPBody, SOAPBodyElement, SOAPEnvelope, SOAPFaultElement, SOAPHeader, SOAPHeaderElement

public class MessageElement
extends NodeImpl
implements SOAPElement, java.io.Serializable, org.w3c.dom.NodeList, java.lang.Cloneable

See Also:
Serialized Form

Nested Class Summary
protected static class MessageElement.QNameAttr
           
 
Field Summary
protected  boolean _isRoot
           
protected  DeserializationContext context
           
protected  java.lang.String encodingStyle
          Our encoding style, if any
protected  int endEventIndex
           
protected  java.lang.String href
           
protected  java.lang.String id
           
protected static org.apache.commons.logging.Log log
           
protected  SOAPEnvelope message
           
 java.util.ArrayList namespaces
           
protected  java.util.Vector qNameAttrs
           
protected  SAX2EventRecorder recorder
           
protected  int startContentsIndex
           
protected  int startEventIndex
           
protected  QName typeQName
           
 
Fields inherited from class org.apache.axis.message.NodeImpl
_isDirty, attributes, children, name, namespaceURI, parent, prefix, soapPart, textRep
 
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
 
Constructor Summary
MessageElement()
          No-arg constructor for building messages?
MessageElement(org.w3c.dom.CharacterData text)
           
MessageElement(org.w3c.dom.Element elem)
           
MessageElement(Name eltName)
           
MessageElement(QName name)
           
MessageElement(QName name, java.lang.Object value)
           
MessageElement(java.lang.String namespace, java.lang.String localPart)
           
MessageElement(java.lang.String namespace, java.lang.String localPart, java.lang.Object value)
           
MessageElement(java.lang.String localPart, java.lang.String prefix, java.lang.String namespace)
           
MessageElement(java.lang.String namespace, java.lang.String localPart, java.lang.String prefix, org.xml.sax.Attributes attributes, DeserializationContext context)
           
 
Method Summary
 SOAPElement addAttribute(Name name, java.lang.String value)
          Adds an attribute with the specified name and value to this SOAPElement object.
 void addAttribute(java.lang.String namespace, java.lang.String localName, QName value)
           
 void addAttribute(java.lang.String namespace, java.lang.String localName, java.lang.String value)
           
 void addAttribute(java.lang.String prefix, java.lang.String namespace, java.lang.String localName, java.lang.String value)
           
 void addChild(MessageElement el)
          Note that this method will log a error and no-op if there is a value (set using setObjectValue) in the MessageElement.
 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)
          The added child must be an instance of MessageElement rather than an abitrary SOAPElement otherwise a (wrapped) ClassCastException will be thrown.
 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.
 void addMapping(Mapping map)
           
 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 s)
          Text nodes are not supported.
 org.w3c.dom.Node cloneNode(boolean deep)
          Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes.
protected  java.lang.Object clonning()
          protected clone method (not public) copied status ------------------- protected String name ; Y protected String prefix ; Y protected String namespaceURI ; Y protected transient Attributes attributes Y protected String id; Y? protected String href; Y? protected boolean _isRoot = true; Y? protected SOAPEnvelope message = null; N? protected transient DeserializationContext context; Y? protected transient QName typeQName = null; Y? protected Vector qNameAttrs = null; Y? protected transient SAX2EventRecorder recorder = null; N? protected int startEventIndex = 0; N? protected int startContentsIndex = 0; N? protected int endEventIndex = -1; N? protected CharacterData textRep = null; Y? protected MessageElement parent = null; N public ArrayList namespaces = null; Y protected String encodingStyle = null; N? private Object objectValue = null; N?
 void detachAllChildren()
           
 boolean equals(java.lang.Object obj)
           
 java.util.Iterator getAllAttributes()
          Returns an iterator over all of the attribute names in this SOAPElement object.
 org.w3c.dom.Document getAsDocument()
           
 org.w3c.dom.Element getAsDOM()
           
 java.lang.String getAsString()
           
 java.lang.String getAttribute(java.lang.String name)
           
 org.w3c.dom.Attr getAttributeNode(java.lang.String name)
           
 org.w3c.dom.Attr getAttributeNodeNS(java.lang.String namespaceURI, java.lang.String localName)
           
 java.lang.String getAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
           
 org.xml.sax.Attributes getAttributesEx()
           
 java.lang.String getAttributeValue(Name name)
          Returns the value of the attribute with the specified name.
 java.lang.String getAttributeValue(java.lang.String localName)
           
 MessageElement getChildElement(QName qname)
          Convenience method to get the first matching child for a given QName.
 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.
 java.util.Iterator getChildElements(QName qname)
           
 java.util.List getChildren()
           
 org.xml.sax.Attributes getCompleteAttributes()
          Obtain an Attributes collection consisting of all attributes for this MessageElement, including namespace declarations.
 DeserializationContext getDeserializationContext()
          Retrieve the DeserializationContext associated with this MessageElement
 Name getElementName()
          Returns the name of this SOAPElement object.
 org.w3c.dom.NodeList getElementsByTagName(java.lang.String name)
           
 org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
           
protected  org.w3c.dom.NodeList getElementsNS(org.w3c.dom.Element parent, java.lang.String namespaceURI, java.lang.String localName)
          helper method for recusively getting the element that has namespace URI and localname
 java.lang.String getEncodingStyle()
          Get the encoding style.
 SOAPEnvelope getEnvelope()
           
 Deserializer getFixupDeserializer()
           
 java.lang.String getHref()
           
 java.lang.String getID()
           
 int getLength()
          The number of nodes in the list.
 java.lang.String getName()
           
 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.lang.Object getObjectValue()
          Returns value of the node as an object of registered type.
 java.lang.Object getObjectValue(java.lang.Class cls)
          Returns value of the node as an object of registered type.
 java.lang.String getPrefix(java.lang.String namespaceURI)
           
 QName getQName()
           
 MessageElement getRealElement()
           
 SAX2EventRecorder getRecorder()
           
 java.lang.String getTagName()
           
 QName getType()
           
 java.lang.String getValue()
          Returns the the value of the immediate child of this Node object if a child exists and its value is text.
 java.lang.Object getValueAsType(QName type)
           
 java.lang.Object getValueAsType(QName type, java.lang.Class cls)
           
 java.util.Iterator getVisibleNamespacePrefixes()
          Returns an Iterator over the namespace prefix Strings visible to this element.
 boolean hasAttribute(java.lang.String name)
           
 boolean hasAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
           
 boolean isRoot()
           
 org.w3c.dom.Node item(int index)
           
 void output(SerializationContext context)
          This is the public output() method, which will always simply use the recorded SAX stream for this element if it is available.
protected  void outputImpl(SerializationContext context)
          Subclasses can override
 void publishContents(org.xml.sax.ContentHandler handler)
           
 void publishToHandler(org.xml.sax.ContentHandler handler)
           
 boolean removeAttribute(Name name)
          Removes the attribute with the specified name.
 void removeAttribute(java.lang.String name)
           
 org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
           
 void removeAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
           
 void removeContents()
          Detaches all children of this SOAPElement.
 boolean removeNamespaceDeclaration(java.lang.String prefix)
          Removes the namespace declaration corresponding to the given prefix.
 void setAllAttributes(org.xml.sax.Attributes attrs)
           
 void setAttribute(java.lang.String name, java.lang.String value)
           
 void setAttribute(java.lang.String namespace, java.lang.String localName, java.lang.String value)
          Set an attribute, adding the attribute if it isn't already present in this element, and changing the value if it is.
 org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
           
 org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)
           
 void setAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String value)
           
 void setContentsIndex(int index)
           
 void setEncodingStyle(java.lang.String encodingStyle)
          Sets the encoding style for this SOAPElement object to one specified.
 void setEndIndex(int endIndex)
           
 void setEnvelope(SOAPEnvelope env)
           
 void setFixupDeserializer(Deserializer dser)
           
 void setName(java.lang.String name)
           
 void setNamespaceURI(java.lang.String nsURI)
           
 void setNSMappings(java.util.ArrayList namespaces)
           
 void setObjectValue(java.lang.Object newValue)
          Sets value of this node to an Object.
 void setQName(QName qName)
           
 void setRecorder(SAX2EventRecorder rec)
           
 void setType(QName qname)
           
 java.lang.String toString()
           
 
Methods inherited from class org.apache.axis.message.NodeImpl
appendChild, convertAttrSAXtoDOM, detachNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParent, getParentElement, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, initializeChildren, insertBefore, isDirty, isSupported, makeAttributesEditable, normalize, recycleNode, removeChild, replaceChild, setDirty, setNodeValue, setOwnerDocument, setParent, setParentElement, setPrefix, setValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.xml.soap.Node
detachNode, getParentElement, recycleNode, setParentElement, setValue
 
Methods inherited from interface org.w3c.dom.Node
appendChild, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix
 

Field Detail

log

protected static org.apache.commons.logging.Log log

id

protected java.lang.String id

href

protected java.lang.String href

_isRoot

protected boolean _isRoot

message

protected SOAPEnvelope message

context

protected transient DeserializationContext context

typeQName

protected transient QName typeQName

qNameAttrs

protected java.util.Vector qNameAttrs

recorder

protected transient SAX2EventRecorder recorder

startEventIndex

protected int startEventIndex

startContentsIndex

protected int startContentsIndex

endEventIndex

protected int endEventIndex

namespaces

public java.util.ArrayList namespaces

encodingStyle

protected java.lang.String encodingStyle
Our encoding style, if any

Constructor Detail

MessageElement

public MessageElement()
No-arg constructor for building messages?


MessageElement

public MessageElement(java.lang.String namespace,
                      java.lang.String localPart)

MessageElement

public MessageElement(java.lang.String localPart,
                      java.lang.String prefix,
                      java.lang.String namespace)

MessageElement

public MessageElement(Name eltName)

MessageElement

public MessageElement(java.lang.String namespace,
                      java.lang.String localPart,
                      java.lang.Object value)

MessageElement

public MessageElement(QName name)

MessageElement

public MessageElement(QName name,
                      java.lang.Object value)

MessageElement

public MessageElement(org.w3c.dom.Element elem)

MessageElement

public MessageElement(org.w3c.dom.CharacterData text)

MessageElement

public MessageElement(java.lang.String namespace,
                      java.lang.String localPart,
                      java.lang.String prefix,
                      org.xml.sax.Attributes attributes,
                      DeserializationContext context)
               throws AxisFault
Method Detail

getDeserializationContext

public DeserializationContext getDeserializationContext()
Retrieve the DeserializationContext associated with this MessageElement

Returns:
The DeserializationContext associated with this MessageElement

setFixupDeserializer

public void setFixupDeserializer(Deserializer dser)

getFixupDeserializer

public Deserializer getFixupDeserializer()

setEndIndex

public void setEndIndex(int endIndex)

isRoot

public boolean isRoot()

getID

public java.lang.String getID()

getHref

public java.lang.String getHref()

getAttributesEx

public org.xml.sax.Attributes getAttributesEx()

cloneNode

public org.w3c.dom.Node cloneNode(boolean deep)
Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. The duplicate node has no parent; ( parentNode is null.).
Cloning an Element copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child Text node. Cloning an Attribute directly, as opposed to be cloned as part of an Element cloning operation, returns a specified attribute ( specified is true). Cloning any other type of node simply returns a copy of this node.
Note that cloning an immutable subtree results in a mutable copy, but the children of an EntityReference clone are readonly . In addition, clones of unspecified Attr nodes are specified. And, cloning Document, DocumentType, Entity, and Notation nodes is implementation dependent.

Specified by:
cloneNode in interface org.w3c.dom.Node
Overrides:
cloneNode in class NodeImpl
Parameters:
deep - If true, recursively clone the subtree under the specified node; if false, clone only the node itself (and its attributes, if it is an Element).
Returns:
The duplicate node.

clonning

protected java.lang.Object clonning()
                             throws java.lang.CloneNotSupportedException
protected clone method (not public) copied status ------------------- protected String name ; Y protected String prefix ; Y protected String namespaceURI ; Y protected transient Attributes attributes Y protected String id; Y? protected String href; Y? protected boolean _isRoot = true; Y? protected SOAPEnvelope message = null; N? protected transient DeserializationContext context; Y? protected transient QName typeQName = null; Y? protected Vector qNameAttrs = null; Y? protected transient SAX2EventRecorder recorder = null; N? protected int startEventIndex = 0; N? protected int startContentsIndex = 0; N? protected int endEventIndex = -1; N? protected CharacterData textRep = null; Y? protected MessageElement parent = null; N public ArrayList namespaces = null; Y protected String encodingStyle = null; N? private Object objectValue = null; N?

Returns:
Throws:
java.lang.CloneNotSupportedException

setAllAttributes

public void setAllAttributes(org.xml.sax.Attributes attrs)

detachAllChildren

public void detachAllChildren()

getCompleteAttributes

public org.xml.sax.Attributes getCompleteAttributes()
Obtain an Attributes collection consisting of all attributes for this MessageElement, including namespace declarations.

Returns:
Attributes collection

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

getQName

public QName getQName()

setQName

public void setQName(QName qName)

setNamespaceURI

public void setNamespaceURI(java.lang.String nsURI)

getType

public QName getType()

setType

public void setType(QName qname)

getRecorder

public SAX2EventRecorder getRecorder()

setRecorder

public void setRecorder(SAX2EventRecorder rec)

getEncodingStyle

public java.lang.String getEncodingStyle()
Get the encoding style. If ours is null, walk up the hierarchy and use our parent's. Default if we're the root is "".

Specified by:
getEncodingStyle in interface SOAPElement
Returns:
the currently in-scope encoding style
See Also:
setEncodingStyle(java.lang.String)

removeContents

public void removeContents()
Description copied from interface: SOAPElement
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.

Specified by:
removeContents in interface SOAPElement

getVisibleNamespacePrefixes

public java.util.Iterator getVisibleNamespacePrefixes()
Description copied from interface: SOAPElement
Returns an Iterator over the namespace prefix Strings visible to this element. The prefixes returned by this iterator can be passed to the method getNamespaceURI() to retrieve the URI of each namespace.

Specified by:
getVisibleNamespacePrefixes in interface SOAPElement
Returns:
an iterator over the namespace prefixes are within scope of this SOAPElement object

setEncodingStyle

public void setEncodingStyle(java.lang.String encodingStyle)
                      throws SOAPException
Sets the encoding style for this SOAPElement object to one specified. The semantics of a null value, as above in getEncodingStyle() are to just use the parent's value, but null here means set to "".

Specified by:
setEncodingStyle in interface SOAPElement
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()

addChild

public void addChild(MessageElement el)
              throws SOAPException
Note that this method will log a error and no-op if there is a value (set using setObjectValue) in the MessageElement.

Throws:
SOAPException

getChildren

public java.util.List getChildren()

setContentsIndex

public void setContentsIndex(int index)

setNSMappings

public void setNSMappings(java.util.ArrayList namespaces)

getPrefix

public java.lang.String getPrefix(java.lang.String namespaceURI)

getNamespaceURI

public java.lang.String getNamespaceURI(java.lang.String prefix)
Description copied from interface: SOAPElement
Returns the URI of the namespace that has the given prefix.

Specified by:
getNamespaceURI in interface SOAPElement
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

getObjectValue

public java.lang.Object getObjectValue()
Returns value of the node as an object of registered type.

Returns:
Object of proper type, or null if no mapping could be found.

getObjectValue

public java.lang.Object getObjectValue(java.lang.Class cls)
                                throws java.lang.Exception
Returns value of the node as an object of registered type.

Parameters:
cls - Class that contains top level deserializer metadata
Returns:
Object of proper type, or null if no mapping could be found.
Throws:
java.lang.Exception

setObjectValue

public void setObjectValue(java.lang.Object newValue)
                    throws SOAPException
Sets value of this node to an Object. A serializer needs to be registered for this object class for proper operation.

Note that this method will log an error and no-op if there are any children in the MessageElement or if the MessageElement was constructed from XML.

Parameters:
newValue - node's value or null.
Throws:
SOAPException

getValueAsType

public java.lang.Object getValueAsType(QName type)
                                throws java.lang.Exception
Throws:
java.lang.Exception

getValueAsType

public java.lang.Object getValueAsType(QName type,
                                       java.lang.Class cls)
                                throws java.lang.Exception
Throws:
java.lang.Exception

addAttribute

public void addAttribute(java.lang.String namespace,
                         java.lang.String localName,
                         QName value)

addAttribute

public void addAttribute(java.lang.String namespace,
                         java.lang.String localName,
                         java.lang.String value)

addAttribute

public void addAttribute(java.lang.String prefix,
                         java.lang.String namespace,
                         java.lang.String localName,
                         java.lang.String value)

setAttribute

public void setAttribute(java.lang.String namespace,
                         java.lang.String localName,
                         java.lang.String value)
Set an attribute, adding the attribute if it isn't already present in this element, and changing the value if it is. Passing null as the value will cause any pre-existing attribute by this name to go away.


getAttributeValue

public java.lang.String getAttributeValue(java.lang.String localName)

setEnvelope

public void setEnvelope(SOAPEnvelope env)

getEnvelope

public SOAPEnvelope getEnvelope()

getRealElement

public MessageElement getRealElement()

getAsDocument

public org.w3c.dom.Document getAsDocument()
                                   throws java.lang.Exception
Throws:
java.lang.Exception

getAsString

public java.lang.String getAsString()
                             throws java.lang.Exception
Throws:
java.lang.Exception

getAsDOM

public org.w3c.dom.Element getAsDOM()
                             throws java.lang.Exception
Throws:
java.lang.Exception

publishToHandler

public void publishToHandler(org.xml.sax.ContentHandler handler)
                      throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

publishContents

public void publishContents(org.xml.sax.ContentHandler handler)
                     throws org.xml.sax.SAXException
Throws:
org.xml.sax.SAXException

output

public final void output(SerializationContext context)
                  throws java.lang.Exception
This is the public output() method, which will always simply use the recorded SAX stream for this element if it is available. If not, this method calls outputImpl() to allow subclasses and programmatically created messages to serialize themselves.

Overrides:
output in class NodeImpl
Parameters:
context - the SerializationContext we will write to.
Throws:
java.lang.Exception

outputImpl

protected void outputImpl(SerializationContext context)
                   throws java.lang.Exception
Subclasses can override

Throws:
java.lang.Exception

toString

public java.lang.String toString()

addMapping

public void addMapping(Mapping map)

addChildElement

public SOAPElement addChildElement(Name name)
                            throws SOAPException
Description copied from interface: SOAPElement
Creates a new SOAPElement object initialized with the given Name object and adds the new element to this SOAPElement object.

Specified by:
addChildElement in interface SOAPElement
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
Description copied from interface: SOAPElement
Creates a new SOAPElement object initialized with the given String object and adds the new element to this SOAPElement object.

Specified by:
addChildElement in interface SOAPElement
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
Description copied from interface: SOAPElement
Creates a new SOAPElement object initialized with the specified local name and prefix and adds the new element to this SOAPElement object.

Specified by:
addChildElement in interface SOAPElement
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
Description copied from interface: SOAPElement
Creates a new SOAPElement object initialized with the specified local name, prefix, and URI and adds the new element to this SOAPElement object.

Specified by:
addChildElement in interface SOAPElement
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
The added child must be an instance of MessageElement rather than an abitrary SOAPElement otherwise a (wrapped) ClassCastException will be thrown.

Specified by:
addChildElement in interface SOAPElement
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 s)
                        throws SOAPException
Text nodes are not supported.

Specified by:
addTextNode in interface SOAPElement
Parameters:
s - 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
Description copied from interface: SOAPElement
Adds an attribute with the specified name and value to this SOAPElement object.

Specified by:
addAttribute in interface SOAPElement
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
Description copied from interface: SOAPElement
Adds a namespace declaration with the specified prefix and URI to this SOAPElement object.

Specified by:
addNamespaceDeclaration in interface SOAPElement
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)
Description copied from interface: SOAPElement
Returns the value of the attribute with the specified name.

Specified by:
getAttributeValue in interface SOAPElement
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()
Description copied from interface: SOAPElement
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.

Specified by:
getAllAttributes in interface SOAPElement
Returns:
an iterator over the names of the attributes

getNamespacePrefixes

public java.util.Iterator getNamespacePrefixes()
Description copied from interface: SOAPElement
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.

Specified by:
getNamespacePrefixes in interface SOAPElement
Returns:
an iterator over the namespace prefixes in this SOAPElement object

getElementName

public Name getElementName()
Description copied from interface: SOAPElement
Returns the name of this SOAPElement object.

Specified by:
getElementName in interface SOAPElement
Returns:
a Name object with the name of this SOAPElement object

removeAttribute

public boolean removeAttribute(Name name)
Description copied from interface: SOAPElement
Removes the attribute with the specified name.

Specified by:
removeAttribute in interface SOAPElement
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)
Description copied from interface: SOAPElement
Removes the namespace declaration corresponding to the given prefix.

Specified by:
removeNamespaceDeclaration in interface SOAPElement
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()
Description copied from interface: SOAPElement
Returns an iterator over all the immediate content of this element. This includes Text objects as well as SOAPElement objects.

Specified by:
getChildElements in interface SOAPElement
Returns:
an iterator with the content of this SOAPElement object

getChildElement

public MessageElement getChildElement(QName qname)
Convenience method to get the first matching child for a given QName.

Parameters:
qname -
Returns:

getChildElements

public java.util.Iterator getChildElements(QName qname)

getChildElements

public java.util.Iterator getChildElements(Name name)
Description copied from interface: SOAPElement
Returns an iterator over all the child elements with the specified name.

Specified by:
getChildElements in interface SOAPElement
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

getTagName

public java.lang.String getTagName()
Specified by:
getTagName in interface org.w3c.dom.Element

removeAttribute

public void removeAttribute(java.lang.String name)
                     throws org.w3c.dom.DOMException
Specified by:
removeAttribute in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

hasAttribute

public boolean hasAttribute(java.lang.String name)
Specified by:
hasAttribute in interface org.w3c.dom.Element

getAttribute

public java.lang.String getAttribute(java.lang.String name)
Specified by:
getAttribute in interface org.w3c.dom.Element

removeAttributeNS

public void removeAttributeNS(java.lang.String namespaceURI,
                              java.lang.String localName)
                       throws org.w3c.dom.DOMException
Specified by:
removeAttributeNS in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.String value)
                  throws org.w3c.dom.DOMException
Specified by:
setAttribute in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

hasAttributeNS

public boolean hasAttributeNS(java.lang.String namespaceURI,
                              java.lang.String localName)
Specified by:
hasAttributeNS in interface org.w3c.dom.Element

getAttributeNode

public org.w3c.dom.Attr getAttributeNode(java.lang.String name)
Specified by:
getAttributeNode in interface org.w3c.dom.Element

removeAttributeNode

public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
                                     throws org.w3c.dom.DOMException
Specified by:
removeAttributeNode in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

setAttributeNode

public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
                                  throws org.w3c.dom.DOMException
Specified by:
setAttributeNode in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

setAttributeNodeNS

public org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)
                                    throws org.w3c.dom.DOMException
Specified by:
setAttributeNodeNS in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

getElementsByTagName

public org.w3c.dom.NodeList getElementsByTagName(java.lang.String name)
Specified by:
getElementsByTagName in interface org.w3c.dom.Element

getAttributeNS

public java.lang.String getAttributeNS(java.lang.String namespaceURI,
                                       java.lang.String localName)
Specified by:
getAttributeNS in interface org.w3c.dom.Element

setAttributeNS

public void setAttributeNS(java.lang.String namespaceURI,
                           java.lang.String qualifiedName,
                           java.lang.String value)
                    throws org.w3c.dom.DOMException
Specified by:
setAttributeNS in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

getAttributeNodeNS

public org.w3c.dom.Attr getAttributeNodeNS(java.lang.String namespaceURI,
                                           java.lang.String localName)
Specified by:
getAttributeNodeNS in interface org.w3c.dom.Element

getElementsByTagNameNS

public org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
                                                   java.lang.String localName)
Specified by:
getElementsByTagNameNS in interface org.w3c.dom.Element

getElementsNS

protected org.w3c.dom.NodeList getElementsNS(org.w3c.dom.Element parent,
                                             java.lang.String namespaceURI,
                                             java.lang.String localName)
helper method for recusively getting the element that has namespace URI and localname


item

public org.w3c.dom.Node item(int index)
Specified by:
item in interface org.w3c.dom.NodeList

getLength

public int getLength()
The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.

Specified by:
getLength in interface org.w3c.dom.NodeList
Since:
SAAJ 1.2 : Nodelist Interface

equals

public boolean equals(java.lang.Object obj)

getValue

public java.lang.String getValue()
Description copied from interface: Node
Returns the the value of the immediate child of this Node object if a child exists and its value is text.

Specified by:
getValue in interface Node
Overrides:
getValue in class NodeImpl
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


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