Class MessageElement

    • 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
      • typeQName

        protected transient QName typeQName
      • qNameAttrs

        protected java.util.Vector qNameAttrs
      • 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
      • fixupDeserializer

        protected Deserializer fixupDeserializer
        !!! TODO : Make sure this handles multiple targets
    • Constructor Detail

      • MessageElement

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

        public MessageElement​(java.lang.String namespace,
                              java.lang.String localPart)
        constructor
        Parameters:
        namespace - namespace of element
        localPart - local name
      • MessageElement

        public MessageElement​(java.lang.String localPart,
                              java.lang.String prefix,
                              java.lang.String namespace)
        constructor. Automatically adds a namespace-prefix mapping to the mapping table
        Parameters:
        localPart - local name
        prefix - prefix
        namespace - namespace
      • MessageElement

        public MessageElement​(java.lang.String namespace,
                              java.lang.String localPart,
                              java.lang.Object value)
        constructor binding the internal object value field to the value parameter
        Parameters:
        namespace - namespace of the element
        localPart - local name
        value - value of the node
      • MessageElement

        public MessageElement​(QName name)
        constructor declaring the qualified name of the node
        Parameters:
        name - naming information
      • MessageElement

        public MessageElement​(QName name,
                              java.lang.Object value)
        constructor declaring the qualified name of the node and its value
        Parameters:
        name - naming information
        value - value of the node
      • MessageElement

        public MessageElement​(org.w3c.dom.Element elem)
        create a node through a deep copy of the passed in element.
        Parameters:
        elem - name to copy from
      • MessageElement

        public MessageElement​(org.w3c.dom.CharacterData text)
        construct a text element.
        Parameters:
        text - text data. This is not copied; it is referred to in the MessageElement.
      • MessageElement

        public MessageElement​(java.lang.String namespace,
                              java.lang.String localPart,
                              java.lang.String prefix,
                              org.xml.sax.Attributes attributes,
                              DeserializationContext context)
                       throws AxisFault
        Advanced constructor used for deserialization.
        1. The context provides the mappings and Sax event recorder
        2. The soap messaging style is determined from the current message context, defaulting to SOAP1.1 if there is no current context.
        3. if there is an id attribute (any namespace), then the ID is registered with DeserializationContext.registerElementByID(String, MessageElement) ;a new recorder is created if needed.
        4. If there is an attribute "root" in the default SOAP namespace, then it is examined to see if it marks the element as root (value=="1" or not)
        5. If there is an arrayType attribute then we assume we are an array and set our typeQName field appropriately.
        6. The href field is set if there is a relevant href value
        Parameters:
        namespace - namespace namespace of element
        localPart - local name local name of element
        prefix - prefix prefix of element
        attributes - attributes to save as our attributes
        context - deserialization context for this message element
        Throws:
        AxisFault - if the encoding style is not recognized/supported
    • 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)
        record the end index of the SAX recording.
        Parameters:
        endIndex - end value
      • isRoot

        public boolean isRoot()
        get the is-root flag
        Returns:
        true if the element is considered a document root.
      • getID

        public java.lang.String getID()
        get a saved ID
        Returns:
        ID or null for no ID
      • getHref

        public java.lang.String getHref()
        get a saved href
        Returns:
        href or null
      • getAttributesEx

        public org.xml.sax.Attributes getAttributesEx()
        get the attributes
        Returns:
        attributes. If this equals NullAttributes.singleton it is null
      • 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.
      • childDeepCloned

        protected void childDeepCloned​(NodeImpl oldNode,
                                       NodeImpl newNode)
      • cloning

        protected java.lang.Object cloning()
                                    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)
        set all the attributes of this instance
        Parameters:
        attrs - a new attributes list
      • detachAllChildren

        public void detachAllChildren()
        remove all children.
      • 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()
        get the local name of this element
        Returns:
        name
      • setName

        public void setName​(java.lang.String name)
        set the local part of this element's name
        Parameters:
        name -
      • getQName

        public QName getQName()
        get the fully qualified name of this element
        Returns:
        a QName describing the name of thsi element
      • setQName

        public void setQName​(QName qName)
        set the name and namespace of this element
        Parameters:
        qName - qualified name
      • setNamespaceURI

        public void setNamespaceURI​(java.lang.String nsURI)
        set the namespace URI of the element
        Parameters:
        nsURI - new namespace URI
      • getType

        public QName getType()
        get the element's type. If we are a reference, we look up our target in the context and return (and cache) its type.
        Returns:
      • setType

        public void setType​(QName qname)
        set the element's type
        Parameters:
        qname -
      • getRecorder

        public SAX2EventRecorder getRecorder()
        get the event recorder
        Returns:
        recorder or null
      • setRecorder

        public void setRecorder​(SAX2EventRecorder rec)
        set the event recorder
        Parameters:
        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()
        remove all chidlren. All SOAPExceptions which can get thrown in this process are ignored.
        Specified by:
        removeContents in interface SOAPElement
      • getVisibleNamespacePrefixes

        public java.util.Iterator getVisibleNamespacePrefixes()
        get an iterator over visible prefixes. This includes all declared in parent elements
        Specified by:
        getVisibleNamespacePrefixes in interface SOAPElement
        Returns:
        an iterator.
      • 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()
        get a list of children
        Returns:
        a list, or null if there are no children
      • setContentsIndex

        public void setContentsIndex​(int index)
        set the index point of our content's starting in the event recording
        Parameters:
        index - index value of the first event of our recorder.
      • setNSMappings

        public void setNSMappings​(java.util.ArrayList namespaces)
        set a new namespace mapping list
        Parameters:
        namespaces -
      • getPrefix

        public java.lang.String getPrefix​(java.lang.String searchNamespaceURI)
        get the prefix for a given namespace URI
        Parameters:
        searchNamespaceURI - namespace
        Returns:
        null for null or emtpy uri, null for no match, and the prefix iff there is a match
      • getNamespaceURI

        public java.lang.String getNamespaceURI​(java.lang.String searchPrefix)
        map from a prefix to a namespace. Will recurse upward the element tree until we get a match
        Specified by:
        getNamespaceURI in interface SOAPElement
        Parameters:
        searchPrefix -
        Returns:
        the prefix, or null for no match
      • 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
        This is deserialization logic mixed in to our element class. It is only valid we have a deserializer, which means that we were created using MessageElement(String, String, String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)
        Parameters:
        type - type to look up a deserializer for.
        cls - class to use for looking up the deserializer. This takes precedence over the type field.
        Returns:
        the value of the deserializer
        Throws:
        java.lang.Exception
      • addAttribute

        public void addAttribute​(java.lang.String namespace,
                                 java.lang.String localName,
                                 QName value)
        add an attribute to the qname vector. This is a separate vector from the main attribute list.
        Parameters:
        namespace -
        localName -
        value -
      • addAttribute

        public void addAttribute​(java.lang.String namespace,
                                 java.lang.String localName,
                                 java.lang.String value)
        add a normal CDATA/text attribute. There is no check whether or not the attribute already exists.
        Parameters:
        namespace - namespace URI
        localName - local anme
        value - value
      • addAttribute

        public void addAttribute​(java.lang.String attrPrefix,
                                 java.lang.String namespace,
                                 java.lang.String localName,
                                 java.lang.String value)
        add an attribute. Note that the prefix is not added to our mapping list. Also, there is no check whether or not the attribute already exists.
        Parameters:
        attrPrefix - prefix.
        namespace - namespace URI
        localName -
        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)
        get the value of an attribute
        Parameters:
        localName -
        Returns:
        the value or null
      • setEnvelope

        public void setEnvelope​(SOAPEnvelope env)
        bind a a new soap envelope. sets the dirty bit.
        Parameters:
        env -
      • getEnvelope

        public SOAPEnvelope getEnvelope()
        get our current envelope
        Returns:
        envelope or null.
      • getRealElement

        public MessageElement getRealElement()
        get the 'real' element -will follow hrefs.
        Returns:
        the message element or null if there is a href to something that is not a MessageElemeent.
      • getAsDocument

        public org.w3c.dom.Document getAsDocument()
                                           throws java.lang.Exception
        get the message element as a document. This serializes the element to a string and then parses it.
        Returns:
        Throws:
        java.lang.Exception
        See Also:
        getAsString()
      • getAsString

        public java.lang.String getAsString()
                                     throws java.lang.Exception
        get the message element as a string. This is not a cheap operation, as we have to serialise the entire message element to the current context, then convert it to a string. Nor is it cached; repeated calls repeat the operation.
        Returns:
        an XML fragment in a string.
        Throws:
        java.lang.Exception - if anything went wrong
      • getAsDOM

        public org.w3c.dom.Element getAsDOM()
                                     throws java.lang.Exception
        create a DOM from the message element, by serializing and deserializing the element
        Returns:
        the root document element of the element
        Throws:
        java.lang.Exception
        See Also:
        getAsString(), getAsDocument()
      • publishToHandler

        public void publishToHandler​(org.xml.sax.ContentHandler handler)
                              throws org.xml.sax.SAXException
        replay the sax events to a handler
        Parameters:
        handler -
        Throws:
        org.xml.sax.SAXException
      • publishContents

        public void publishContents​(org.xml.sax.ContentHandler handler)
                             throws org.xml.sax.SAXException
        replay the sax events to a SAX content handles
        Parameters:
        handler -
        Throws:
        org.xml.sax.SAXException
      • output

        public final void output​(SerializationContext outputContext)
                          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:
        outputContext - the SerializationContext we will write to.
        Throws:
        java.lang.Exception
      • outputImpl

        protected void outputImpl​(SerializationContext outputContext)
                           throws java.lang.Exception
        override point -output to a serialization context.
        Parameters:
        outputContext - destination.
        Throws:
        java.lang.Exception - if something went wrong.
      • toString

        public java.lang.String toString()
        Generate a string representation by serializing our contents This is not a lightweight operation, and is repeated whenever you call this method. If the serialization fails, an error is logged and the classic Object.toString() operation invoked instead.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representing the class
      • addMapping

        public void addMapping​(Mapping map)
        add a new namespace/prefix mapping
        Parameters:
        map - new mapping to add
      • getAllAttributes

        public java.util.Iterator getAllAttributes()
        Get an interator to all the attributes of the node. The iterator is over a static snapshot of the node names; if attributes are added or deleted during the iteration, this iterator will be not be updated to follow the changes.
        Specified by:
        getAllAttributes in interface SOAPElement
        Returns:
        an iterator of the attributes.
        See Also:
        SOAPElement.getAllAttributes()
      • getNamespacePrefixes

        public java.util.Iterator getNamespacePrefixes()
        get an iterator of the prefixes. The iterator does not get updated in response to changes in the namespace list.
        Specified by:
        getNamespacePrefixes in interface SOAPElement
        Returns:
        an iterator over a vector of prefixes
        See Also:
        SOAPElement.getNamespacePrefixes()
      • getChildElements

        public java.util.Iterator getChildElements()
        get an iterator over the children This iterator may get confused if changes are made to the children while the iteration is in progress.
        Specified by:
        getChildElements in interface SOAPElement
        Returns:
        an iterator over child elements.
        See Also:
        SOAPElement.getChildElements()
      • getChildElements

        public java.util.Iterator getChildElements​(QName qname)
        get an iterator over child elements
        Parameters:
        qname - namespace/element name of parts to find. This iterator is not (currently) susceptible to change in the element list during its lifetime, though changes in the contents of the elements are picked up.
        Returns:
        an iterator.
      • getChildElements

        public java.util.Iterator getChildElements​(Name childName)
        get an iterator over child elements
        Specified by:
        getChildElements in interface SOAPElement
        Parameters:
        childName - namespace/element name of parts to find. This iterator is not (currently) susceptible to change in the element list during its lifetime, though changes in the contents of the elements are picked up.
        Returns:
        an iterator.
        See Also:
        SOAPElement.getChildElements(javax.xml.soap.Name)
      • getTagName

        public java.lang.String getTagName()
        Specified by:
        getTagName in interface org.w3c.dom.Element
        Returns:
        the name of the element
        See Also:
        Element.getTagName()
      • removeAttribute

        public void removeAttribute​(java.lang.String attrName)
                             throws org.w3c.dom.DOMException
        remove a named attribute.
        Specified by:
        removeAttribute in interface org.w3c.dom.Element
        Parameters:
        attrName - name of the attributes
        Throws:
        org.w3c.dom.DOMException
        See Also:
        Element.removeAttribute(String)
      • hasAttribute

        public boolean hasAttribute​(java.lang.String attrName)
        test for an attribute existing
        Specified by:
        hasAttribute in interface org.w3c.dom.Element
        Parameters:
        attrName - name of attribute (or null)
        Returns:
        true if it exists Note that the behaviour for a null parameter (returns false) is not guaranteed in future
        See Also:
        Element.hasAttribute(String)
      • getAttribute

        public java.lang.String getAttribute​(java.lang.String attrName)
        get an attribute by name
        Specified by:
        getAttribute in interface org.w3c.dom.Element
        Parameters:
        attrName - of attribute
        Returns:
        the attribute value or null
        See Also:
        Element.getAttribute(String)
      • removeAttributeNS

        public void removeAttributeNS​(java.lang.String namespace,
                                      java.lang.String localName)
                               throws org.w3c.dom.DOMException
        Remove an attribute. If the removed attribute has a default value it is immediately replaced. The replacing attribute has the same namespace URI and local name, as well as the original prefix. If there is no matching attribute, the operation is a no-op.
        Specified by:
        removeAttributeNS in interface org.w3c.dom.Element
        Parameters:
        namespace - namespace of attr
        localName - local name
        Throws:
        org.w3c.dom.DOMException
        See Also:
        Element.removeAttributeNS(String, String)
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.String value)
                          throws org.w3c.dom.DOMException
        set or update an attribute.
        Specified by:
        setAttribute in interface org.w3c.dom.Element
        Parameters:
        name - attribute name
        value - attribute value
        Throws:
        org.w3c.dom.DOMException
        See Also:
        Element.setAttribute(String, String)
      • hasAttributeNS

        public boolean hasAttributeNS​(java.lang.String namespace,
                                      java.lang.String localName)
        Test for an attribute
        Specified by:
        hasAttributeNS in interface org.w3c.dom.Element
        Parameters:
        namespace -
        localName -
        Returns:
        See Also:
        Element.hasAttributeNS(String, String)
      • getAttributeNode

        public org.w3c.dom.Attr getAttributeNode​(java.lang.String attrName)
        Deprecated.
        this is not implemented
        This unimplemented operation is meand to return an attribute as a node
        Specified by:
        getAttributeNode in interface org.w3c.dom.Element
        Parameters:
        attrName -
        Returns:
        null, always.
        See Also:
        Element.getAttributeNode(String)
      • removeAttributeNode

        public org.w3c.dom.Attr removeAttributeNode​(org.w3c.dom.Attr oldAttr)
                                             throws org.w3c.dom.DOMException
        remove a an attribue
        Specified by:
        removeAttributeNode in interface org.w3c.dom.Element
        Parameters:
        oldAttr -
        Returns:
        oldAttr
        Throws:
        org.w3c.dom.DOMException
      • setAttributeNode

        public org.w3c.dom.Attr setAttributeNode​(org.w3c.dom.Attr newAttr)
                                          throws org.w3c.dom.DOMException
        Deprecated.
        this is not implemented
        set the attribute node.
        Specified by:
        setAttributeNode in interface org.w3c.dom.Element
        Parameters:
        newAttr -
        Returns:
        newAttr
        Throws:
        org.w3c.dom.DOMException
        See Also:
        Element.setAttributeNode(org.w3c.dom.Attr)
      • setAttributeNodeNS

        public org.w3c.dom.Attr setAttributeNodeNS​(org.w3c.dom.Attr newAttr)
                                            throws org.w3c.dom.DOMException
        set an attribute as a node
        Specified by:
        setAttributeNodeNS in interface org.w3c.dom.Element
        Parameters:
        newAttr -
        Returns:
        null
        Throws:
        org.w3c.dom.DOMException
        See Also:
        Element.setAttributeNodeNS(org.w3c.dom.Attr)
      • getElementsByTagName

        public org.w3c.dom.NodeList getElementsByTagName​(java.lang.String tagName)
        Specified by:
        getElementsByTagName in interface org.w3c.dom.Element
        Parameters:
        tagName - tag to look for.
        Returns:
        a list of elements
        See Also:
        Element.getElementsByTagName(String)
      • getAttributeNS

        public java.lang.String getAttributeNS​(java.lang.String namespaceURI,
                                               java.lang.String localName)
        get the attribute with namespace/local name match.
        Specified by:
        getAttributeNS in interface org.w3c.dom.Element
        Parameters:
        namespaceURI - namespace
        localName - name
        Returns:
        string value or null if not found
        See Also:
        Element.getAttributeNS(String, String)
      • setAttributeNS

        public void setAttributeNS​(java.lang.String namespaceURI,
                                   java.lang.String qualifiedName,
                                   java.lang.String value)
                            throws org.w3c.dom.DOMException
        set an attribute or alter an existing one
        Specified by:
        setAttributeNS in interface org.w3c.dom.Element
        Parameters:
        namespaceURI - namepsace
        qualifiedName - qualified name of the attribue
        value - value
        Throws:
        org.w3c.dom.DOMException
        See Also:
        Element.setAttributeNS(String, String, String)
      • getAttributeNodeNS

        public org.w3c.dom.Attr getAttributeNodeNS​(java.lang.String namespace,
                                                   java.lang.String localName)
        Deprecated.
        not implemented!
        Specified by:
        getAttributeNodeNS in interface org.w3c.dom.Element
        Parameters:
        namespace - namespace
        localName - local name
        Returns:
        null
        See Also:
        Element.getAttributeNS(String, String)
      • getElementsByTagNameNS

        public org.w3c.dom.NodeList getElementsByTagNameNS​(java.lang.String namespace,
                                                           java.lang.String localName)
        Specified by:
        getElementsByTagNameNS in interface org.w3c.dom.Element
        Parameters:
        namespace - namespace
        localName - local name of element
        Returns:
        (potentially empty) list of elements that match the (namespace,localname) tuple
        See Also:
        Element.getElementsByTagNameNS(String, String)
      • getElementsNS

        protected org.w3c.dom.NodeList getElementsNS​(org.w3c.dom.Element parentElement,
                                                     java.lang.String namespace,
                                                     java.lang.String localName)
        helper method for recusively getting the element that has namespace URI and localname
        Parameters:
        parentElement - parent element
        namespace - namespace
        localName - local name of element
        Returns:
        (potentially empty) list of elements that match the (namespace,localname) tuple
      • item

        public org.w3c.dom.Node item​(int index)
        get a child node
        Specified by:
        item in interface org.w3c.dom.NodeList
        Parameters:
        index - index value
        Returns:
        child or null for out of range value
        See Also:
        NodeList.item(int)
      • 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
        Returns:
        number of children
        Since:
        SAAJ 1.2 : Nodelist Interface
        See Also:
        NodeList.getLength()
      • findElement

        protected MessageElement findElement​(java.util.Vector vec,
                                             java.lang.String namespace,
                                             java.lang.String localPart)
      • equals

        public boolean equals​(java.lang.Object obj)
        equality test. Does a string match of the two message elements, so is fairly brute force.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj -
        Returns:
        See Also:
        toString()
      • getValue

        public java.lang.String getValue()
        Get the value of the doc as a string. This uses getAsDOM() so is a heavyweight operation.
        Specified by:
        getValue in interface Node
        Overrides:
        getValue in class NodeImpl
        Returns:
        the value of any child node, or null if there is no node/something went wrong during serialization. If the first child is text, the return value is the text itself.
        See Also:
        ;
      • getValueDOM

        protected java.lang.String getValueDOM()
      • setValue

        public void setValue​(java.lang.String value)
        Description copied from class: NodeImpl
        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
        Overrides:
        setValue in class NodeImpl
        Parameters:
        value - the text to set
      • getOwnerDocument

        public org.w3c.dom.Document getOwnerDocument()
        Description copied from class: NodeImpl
        The Document object associated with this node. This is also the Document object used to create new nodes. When this node is a Document or a DocumentType which is not used with any Document yet, this is null.
        Specified by:
        getOwnerDocument in interface org.w3c.dom.Node
        Overrides:
        getOwnerDocument in class NodeImpl