| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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.OMSourcedElement; |
| |
| /** |
| * <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 OMSourcedElement { |
| |
| /** |
| * A SOAPHeaderBlock may be represented as an unexpanded OMSourcedElement. |
| * In such cases, the underlying OMDataSource may have a property that contains |
| * the value of the ROLE/ACTOR, RELAY or MUST_UNDERSTAND setting. |
| */ |
| public String ROLE_PROPERTY = "org.apache.axiom.soap.SOAPHeader.ROLE"; |
| public String RELAY_PROPERTY = "org.apache.axiom.soap.SOAPHeader.RELAY"; |
| public String MUST_UNDERSTAND_PROPERTY = "org.apache.axiom.soap.SOAPHeader.MUST_UNDERSTAND"; |
| |
| /** |
| * 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 IllegalArgumentException |
| * if there is a problem in setting the actor. |
| * @see #getRole() getRole() |
| */ |
| 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(String) setRole(java.lang.String) |
| */ |
| 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 IllegalArgumentException |
| * if there is a problem in setting the actor. |
| * @see #getMustUnderstand() getMustUnderstand() |
| */ |
| void setMustUnderstand(boolean mustUnderstand); |
| |
| /** |
| * Returns the boolean value of the {@code mustUnderstand} attribute for this header block. |
| * |
| * @return <code>true</code> if a {@code mustUnderstand} attribute is present and its value is |
| * equivalent to true, <code>false</code> if the {@code mustUnderstand} is not present |
| * or its value is equivalent to false |
| * @throws SOAPProcessingException |
| * if the {@code mustUnderstand} attribute is present, but has an invalid value |
| */ |
| boolean getMustUnderstand() throws SOAPProcessingException; |
| |
| 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() |
| */ |
| void setProcessed(); |
| |
| |
| /** |
| * Sets the relay attribute for this SOAPHeaderBlock to be either true or false. The SOAP relay |
| * attribute is set to true to indicate that the SOAP header block must be relayed by any node |
| * that is targeted by the header block but not actually process it. |
| * |
| * @param relay a <CODE>boolean</CODE> giving the value to be set |
| */ |
| void setRelay(boolean relay); |
| |
| /** |
| * Returns the relay status associated with this <CODE> SOAPHeaderBlock</CODE> object. |
| * |
| * @return a <CODE>boolean</CODE> giving the relay status |
| */ |
| boolean getRelay(); |
| |
| /** |
| * What SOAP version is this HeaderBlock? |
| * |
| * @return a SOAPVersion, one of the two singletons. |
| */ |
| SOAPVersion getVersion(); |
| } |