/* * Copyright 2006 the original author or authors. * * 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.springframework.ws.soap; import javax.xml.transform.Result; /** * Represents the contents of an individual SOAP header in the a SOAP message. All {@code SoapHeaderElement}s are * contained in a {@code SoapHeader}. * * @author Arjen Poutsma * @see SoapHeader * @since 1.0.0 */ public interface SoapHeaderElement extends SoapElement { /** * Returns the actor or role for this header element. In a SOAP 1.1 compliant message, this will read the * {@code actor} attribute; in SOAP 1.2, the {@code role} attribute. * * @return the role of the header */ String getActorOrRole() throws SoapHeaderException; /** * Sets the actor or role for this header element. In a SOAP 1.1 compliant message, this will result in an * {@code actor} attribute being set; in SOAP 1.2, a {@code actorOrRole} attribute. * * @param actorOrRole the actorOrRole value */ void setActorOrRole(String actorOrRole) throws SoapHeaderException; /** * Indicates whether the {@code mustUnderstand} attribute for this header element is set. * * @return {@code true} if the {@code mustUnderstand} attribute is set; {@code false} otherwise */ boolean getMustUnderstand() throws SoapHeaderException; /** * Sets the {@code mustUnderstand} attribute for this header element. If the attribute is on, the role who * receives the header must process it. * * @param mustUnderstand {@code true} to set the {@code mustUnderstand} attribute on; {@code false} * to turn it off */ void setMustUnderstand(boolean mustUnderstand) throws SoapHeaderException; /** Returns a {@code Result} that allows for writing to the <strong>contents</strong> of the header element. */ Result getResult() throws SoapHeaderException; /** * Returns the text content of this header element, if any. * * @return the text content of this header element */ String getText(); /** * Sets the text content of this header element. * * @param content the new text content of this header element */ void setText(String content); }