org.apache.axiom.soap.impl.dom
Class SOAPHeaderImpl

java.lang.Object
  extended by org.apache.axiom.om.impl.dom.NodeImpl
      extended by org.apache.axiom.om.impl.dom.ChildNode
          extended by org.apache.axiom.om.impl.dom.ParentNode
              extended by org.apache.axiom.om.impl.dom.ElementImpl
                  extended by org.apache.axiom.soap.impl.dom.SOAPElement
                      extended by org.apache.axiom.soap.impl.dom.SOAPHeaderImpl
All Implemented Interfaces:
Cloneable, OMContainerEx, OMNodeEx, OMConstants, OMContainer, OMElement, OMNode, OMSerializable, SOAPHeader, Element, Node, NodeList
Direct Known Subclasses:
SOAP11HeaderImpl, SOAP12HeaderImpl

public abstract class SOAPHeaderImpl
extends SOAPElement
implements SOAPHeader


Field Summary
 
Fields inherited from class org.apache.axiom.om.impl.dom.ElementImpl
localName, namespace
 
Fields inherited from class org.apache.axiom.om.impl.dom.ParentNode
firstChild, lastChild
 
Fields inherited from class org.apache.axiom.om.impl.dom.ChildNode
nextSibling, parentNode, previousSibling
 
Fields inherited from class org.apache.axiom.om.impl.dom.NodeImpl
builder, done, factory, FIRSTCHILD, flags, NORMALIZED, OWNED, ownerNode, READONLY, SPECIFIED
 
Fields inherited from interface org.apache.axiom.om.OMNode
CDATA_SECTION_NODE, COMMENT_NODE, DTD_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, PI_NODE, SPACE_NODE, TEXT_NODE
 
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
 
Fields inherited from interface org.apache.axiom.om.OMConstants
ARRAY_ITEM_LOCALNAME, ARRAY_ITEM_NS_PREFIX, ARRAY_ITEM_NSURI, ARRAY_ITEM_QNAME, DATA_HANDLER, DEFAULT_CHAR_SET_ENCODING, DEFAULT_DEFAULT_NAMESPACE, DEFAULT_XML_VERSION, IS_BINARY, IS_DATA_HANDLERS_AWARE, PULL_TYPE_BUILDER, PUSH_TYPE_BUILDER, XMLATTRTYPE_CDATA, XMLATTRTYPE_ENTITIES, XMLATTRTYPE_ENTITY, XMLATTRTYPE_ID, XMLATTRTYPE_IDREF, XMLATTRTYPE_IDREFS, XMLATTRTYPE_NMTOKEN, XMLATTRTYPE_NMTOKENS, XMLATTRTYPE_NOTATION, XMLNS_NS_PREFIX, XMLNS_NS_URI, XMLNS_PREFIX, XMLNS_URI
 
Constructor Summary
SOAPHeaderImpl(SOAPEnvelope envelope, OMXMLParserWrapper builder, SOAPFactory factory)
          Constructor SOAPHeaderImpl
SOAPHeaderImpl(SOAPEnvelope envelope, SOAPFactory factory)
           
 
Method Summary
abstract  SOAPHeaderBlock addHeaderBlock(String localName, OMNamespace ns)
          Creates a new SOAPHeaderBlock object initialized with the specified name and adds it to this SOAPHeader object.
protected  void checkParent(OMElement parent)
          This has to be implemented by all the derived classes to check for the correct parent.
 Iterator examineAllHeaderBlocks()
          Returns an Iterator over all the SOAPHeaderBlock objects in this SOAPHeader object.
 Iterator examineHeaderBlocks(String paramRole)
          Returns a list of all the SOAPHeaderBlock objects in this SOAPHeader object that have the the specified actor.
 Iterator examineMustUnderstandHeaderBlocks(String actor)
          Returns an Iterator over all the SOAPHeaderBlock objects in this SOAPHeader object that have the specified actor and that have a MustUnderstand attribute whose value is equivalent to true.
 Iterator extractAllHeaderBlocks()
          Returns an Iterator over all the SOAPHeaderBlock objects in this SOAPHeader object and detaches them from this SOAPHeader object.
abstract  Iterator extractHeaderBlocks(String role)
          Returns a list of all the SOAPHeaderBlock objects in this SOAPHeader object that have the the specified role and detaches them from this SOAPHeader object.
 ArrayList getHeaderBlocksWithNSURI(String nsURI)
          Return all the Headers that has the Namespace URI to given NS URI.
 Iterator getHeadersToProcess(RolePlayer rolePlayer)
          Get the appropriate set of headers for a RolePlayer.
 Iterator getHeadersToProcess(RolePlayer rolePlayer, String namespace)
          Get the appropriate set of headers for a RolePlayer in a particular namespace

The RolePlayer indicates whether it is the ultimate destination (in which case headers with no role or the explicit UltimateDestination role will be included), and any non-standard roles it supports.

 
Methods inherited from class org.apache.axiom.om.impl.dom.ElementImpl
addAttribute, addAttribute, buildWithAttachments, cloneNode, cloneOMElement, declareDefaultNamespace, declareNamespace, declareNamespace, discard, findNamespace, findNamespaceURI, getAllAttributes, getAllDeclaredNamespaces, getAttribute, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributeValue, getChildElements, getDefaultNamespace, getElementsByTagName, getElementsByTagNameNS, getFirstElement, getLineNumber, getLocalName, getNamespace, getNamespaceURI, getNamespaceURI, getNextOMSibling, getNodeName, getNodeType, getPrefix, getQName, getSchemaTypeInfo, getTagName, getText, getTextAsQName, getTrimmedText, getType, hasAttribute, hasAttributeNS, hasAttributes, internalSerialize, removeAttribute, removeAttribute, removeAttributeNode, removeAttributeNS, removeNamespace, resolveQName, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setBuilder, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setLineNumber, setLocalName, setNamespace, setNamespaceWithNoFindInCurrentScope, setOwnerDocument, setText, setText, setType, toString, toStringWithConsume
 
Methods inherited from class org.apache.axiom.om.impl.dom.ParentNode
addChild, buildNext, getBuilder, getChildNodes, getChildren, getChildrenWithLocalName, getChildrenWithName, getChildrenWithNamespaceURI, getFirstChild, getFirstChildWithName, getFirstOMChild, getFirstOMChildIfAvailable, getLastChild, getTextContent, getXMLStreamReader, getXMLStreamReader, getXMLStreamReaderWithoutCaching, hasChildNodes, importNode, insertBefore, removeChild, replaceChild, setFirstChild, setLastChild, setTextContent
 
Methods inherited from class org.apache.axiom.om.impl.dom.ChildNode
detach, getNextOMSiblingIfAvailable, getNextSibling, getParent, getParentNode, getPreviousOMSibling, getPreviousSibling, insertSiblingAfter, insertSiblingBefore, setNextOMSibling, setParent, setPreviousOMSibling
 
Methods inherited from class org.apache.axiom.om.impl.dom.NodeImpl
appendChild, build, close, compareDocumentPosition, getBaseURI, getFeature, getLength, getNodeValue, getOMFactory, getOwnerDocument, getUserData, internalSerialize, internalSerializeAndConsume, isComplete, isDefaultNamespace, isEqualNode, isSameNode, isSupported, item, lookupNamespaceURI, lookupPrefix, normalize, serialize, serialize, serialize, serialize, serialize, serialize, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, setComplete, setNodeValue, setPrefix, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.axiom.om.OMElement
addAttribute, addAttribute, cloneOMElement, declareDefaultNamespace, declareNamespace, declareNamespace, findNamespace, findNamespaceURI, getAllAttributes, getAllDeclaredNamespaces, getAttribute, getAttributeValue, getChildElements, getDefaultNamespace, getFirstElement, getLineNumber, getLocalName, getNamespace, getNamespaceURI, getQName, getText, getTextAsQName, removeAttribute, resolveQName, serialize, serialize, serialize, serialize, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, setBuilder, setFirstChild, setLineNumber, setLocalName, setNamespace, setNamespaceWithNoFindInCurrentScope, setText, setText, toString, toStringWithConsume
 
Methods inherited from interface org.apache.axiom.om.OMNode
buildWithAttachments, detach, discard, getNextOMSibling, getParent, getPreviousOMSibling, getType, insertSiblingAfter, insertSiblingBefore
 
Methods inherited from interface org.apache.axiom.om.OMContainer
addChild, buildNext, getBuilder, getChildren, getChildrenWithLocalName, getChildrenWithName, getChildrenWithNamespaceURI, getFirstChildWithName, getFirstOMChild, getXMLStreamReader, getXMLStreamReader, getXMLStreamReaderWithoutCaching
 
Methods inherited from interface org.apache.axiom.om.OMSerializable
build, close, getOMFactory, isComplete, serialize, serialize, serializeAndConsume
 
Methods inherited from interface org.w3c.dom.Node
appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 
Methods inherited from interface org.apache.axiom.om.impl.OMContainerEx
setComplete
 

Constructor Detail

SOAPHeaderImpl

public SOAPHeaderImpl(SOAPEnvelope envelope,
                      SOAPFactory factory)
               throws SOAPProcessingException
Parameters:
envelope -
Throws:
SOAPProcessingException

SOAPHeaderImpl

public SOAPHeaderImpl(SOAPEnvelope envelope,
                      OMXMLParserWrapper builder,
                      SOAPFactory factory)
Constructor SOAPHeaderImpl

Parameters:
envelope -
builder -
Method Detail

addHeaderBlock

public abstract SOAPHeaderBlock addHeaderBlock(String localName,
                                               OMNamespace ns)
                                        throws OMException
Creates a new SOAPHeaderBlock object initialized with the specified name and adds it to this SOAPHeader object.

Specified by:
addHeaderBlock in interface SOAPHeader
Parameters:
localName -
ns -
Returns:
the new SOAPHeaderBlock object that was inserted into this SOAPHeader object
Throws:
OMException - if a SOAP error occurs

getHeadersToProcess

public Iterator getHeadersToProcess(RolePlayer rolePlayer)
Get the appropriate set of headers for a RolePlayer.

The RolePlayer indicates whether it is the ultimate destination (in which case headers with no role or the explicit UltimateDestination role will be included), and any non-standard roles it supports. Headers targeted to "next" will always be included, and those targeted to "none" (for SOAP 1.2) will never be included.

Specified by:
getHeadersToProcess in interface SOAPHeader
Returns:
an Iterator over all the HeaderBlocks this RolePlayer should process.

getHeadersToProcess

public Iterator getHeadersToProcess(RolePlayer rolePlayer,
                                    String namespace)
Description copied from interface: SOAPHeader
Get the appropriate set of headers for a RolePlayer in a particular namespace

The RolePlayer indicates whether it is the ultimate destination (in which case headers with no role or the explicit UltimateDestination role will be included), and any non-standard roles it supports. Headers targeted to "next" will always be included, and those targeted to "none" (for SOAP 1.2) will never be included.

This version of the API allows us to iterate only once over the headers searching for a particular namespace for headers targeted at "us".

Specified by:
getHeadersToProcess in interface SOAPHeader
Parameters:
rolePlayer - a RolePlayer containing our role configuration
namespace - if specified, we'll only return headers from this namespace
Returns:
an Iterator over all the HeaderBlocks this RolePlayer should process.

examineHeaderBlocks

public Iterator examineHeaderBlocks(String paramRole)
Returns a list of all the SOAPHeaderBlock objects in this SOAPHeader object that have the the specified actor. An actor is a global attribute that indicates the intermediate parties to whom the message should be sent. An actor receives the message and then sends it to the next actor. The default actor is the ultimate intended recipient for the message, so if no actor attribute is included in a SOAPHeader object, the message is sent to its ultimate destination.

Specified by:
examineHeaderBlocks in interface SOAPHeader
Parameters:
paramRole - a String giving the URI of the actor for which to search
Returns:
an Iterator object over all the SOAPHeaderBlock objects that contain the specified actor
See Also:
extractHeaderBlocks(java.lang.String)

extractHeaderBlocks

public abstract Iterator extractHeaderBlocks(String role)
Returns a list of all the SOAPHeaderBlock objects in this SOAPHeader object that have the the specified role and detaches them from this SOAPHeader object.

This method allows an role to process only the parts of the SOAPHeader object that apply to it and to remove them before passing the message on to the next role.

Specified by:
extractHeaderBlocks in interface SOAPHeader
Parameters:
role - a String giving the URI of the role for which to search
Returns:
an Iterator object over all the SOAPHeaderBlock objects that contain the specified role
See Also:
examineHeaderBlocks(java.lang.String)

examineMustUnderstandHeaderBlocks

public Iterator examineMustUnderstandHeaderBlocks(String actor)
Returns an Iterator over all the SOAPHeaderBlock objects in this SOAPHeader object that have the specified actor and that have a MustUnderstand attribute whose value is equivalent to true.

Specified by:
examineMustUnderstandHeaderBlocks in interface SOAPHeader
Parameters:
actor - a String giving the URI of the actor for which to search
Returns:
an Iterator object over all the SOAPHeaderBlock objects that contain the specified actor and are marked as MustUnderstand

examineAllHeaderBlocks

public Iterator examineAllHeaderBlocks()
Returns an Iterator over all the SOAPHeaderBlock objects in this SOAPHeader object. Not that this will return elements containing the QName (http://schemas.xmlsoap.org/soap/envelope/, Header)

Specified by:
examineAllHeaderBlocks in interface SOAPHeader
Returns:
an Iterator object over all the SOAPHeaderBlock objects contained by this SOAPHeader

extractAllHeaderBlocks

public Iterator extractAllHeaderBlocks()
Returns an Iterator over all the SOAPHeaderBlock objects in this SOAPHeader object and detaches them from this SOAPHeader object.

Specified by:
extractAllHeaderBlocks in interface SOAPHeader
Returns:
an Iterator object over all the SOAPHeaderBlock objects contained by this SOAPHeader

getHeaderBlocksWithNSURI

public ArrayList getHeaderBlocksWithNSURI(String nsURI)
Description copied from interface: SOAPHeader
Return all the Headers that has the Namespace URI to given NS URI.

Specified by:
getHeaderBlocksWithNSURI in interface SOAPHeader
Returns:
Returns ArrayList.

checkParent

protected void checkParent(OMElement parent)
                    throws SOAPProcessingException
Description copied from class: SOAPElement
This has to be implemented by all the derived classes to check for the correct parent.

Specified by:
checkParent in class SOAPElement
Throws:
SOAPProcessingException


Copyright © 2004-2013 The Apache Software Foundation. All Rights Reserved.