blob: 6215db31e1dbd4700072e41dfe31f7b020dde164 [file] [log] [blame]
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.axiom.soap;
import org.apache.axiom.om.OMElement;
/**
* <P>An object representing the contents in the SOAP header part of the SOAP
* envelope. The immediate children of a <CODE> SOAPHeader</CODE> object can be
* represented only as <CODE> SOAPHeaderBlock</CODE> objects.</P> <P>B
* <CODE>SOAPHeaderBlock</CODE> object can have other <CODE>OMElement</CODE>
* objects as its children.</P>
*/
public interface SOAPHeaderBlock extends OMElement {
/**
* Sets the actor associated with this <CODE> SOAPHeaderBlock</CODE> object
* to the specified actor.
*
* @param roleURI a <CODE>String</CODE> giving the URI of the actor to set
* @throws java.lang.IllegalArgumentException
* if there is a problem in setting the actor.
* @see #getRole() getRole()
*/
public abstract void setRole(String roleURI);
/**
* Returns the uri of the actor associated with this <CODE>
* SOAPHeaderBlock</CODE> object.
*
* @return a <CODE>String</CODE> giving the URI of the actor
* @see #setRole(java.lang.String) setRole(java.lang.String)
*/
public abstract String getRole();
/**
* Sets the mustUnderstand attribute for this <CODE> SOAPHeaderBlock</CODE>
* object to be on or off. <P>If the mustUnderstand attribute is on, the
* actor who receives the <CODE>SOAPHeaderBlock</CODE> must process it
* correctly. This ensures, for example, that if the <CODE>
* SOAPHeaderBlock</CODE> object modifies the message, that the message is
* being modified correctly.</P>
*
* @param mustUnderstand <CODE>true</CODE> to set the mustUnderstand
* attribute on; <CODE>false</CODE> to turn if off
* @throws java.lang.IllegalArgumentException
* if there is a problem in setting the actor.
* @see #getMustUnderstand() getMustUnderstand()
*/
public abstract void setMustUnderstand(boolean mustUnderstand);
public abstract void setMustUnderstand(String mustUnderstand) throws SOAPProcessingException;
/**
* Returns whether the mustUnderstand attribute for this
* <CODE>SOAPHeaderBlock</CODE> object is turned on.
*
* @return <CODE>true</CODE> if the mustUnderstand attribute of this
* <CODE>SOAPHeaderBlock</CODE> object is turned on;
* <CODE>false</CODE> otherwise
*/
public abstract boolean getMustUnderstand() throws SOAPProcessingException;
public abstract boolean isProcessed();
/**
* We need to know whether all the mustUnderstand headers have been
* processed by the node. This will done by a specific validation handler at
* the end of the execution chain. For this all the handlers who process a
* particular header block must explicitly say that he processesd the header
* by calling setProcessed()
*/
public abstract void setProcessed();
}