org.apache.axis2.saaj.SOAPHeaderElementImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of axis2-saaj Show documentation
Show all versions of axis2-saaj Show documentation
Axis2 SAAJ implementation
/*
* 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.axis2.saaj;
import org.apache.axiom.soap.SOAP11Version;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPHeaderBlock;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
public class SOAPHeaderElementImpl extends SOAPElementImpl implements SOAPHeaderElement {
/** @param element */
public SOAPHeaderElementImpl(SOAPHeaderBlock element) {
super(element);
}
/**
* Sets the actor associated with this SOAPHeaderElement
object to the specified
* actor. The default value of an actor is: SOAPConstants.URI_SOAP_ACTOR_NEXT
*
* @param actorURI a String
giving the URI of the actor to set
* @throws IllegalArgumentException
* if there is a problem in setting the actor.
* @see #getActor() getActor()
*/
public void setActor(String actorURI) {
this.omTarget.setRole(actorURI);
}
/**
* Returns the uri of the actor associated with this SOAPHeaderElement
object.
*
* @return a String
giving the URI of the actor
* @see #setActor(String) setActor(java.lang.String)
*/
public String getActor() {
return this.omTarget.getRole();
}
/**
* Sets the mustUnderstand attribute for this SOAPHeaderElement
object to be on or
* off.
*
* If the mustUnderstand attribute is on, the actor who receives the
* SOAPHeaderElement
must process it correctly. This ensures, for example, that if
* the SOAPHeaderElement
object modifies the message, that the message is being
* modified correctly.
*
* @param mustUnderstand true
to set the mustUnderstand attribute on;
* false
to turn if off
* @throws IllegalArgumentException
* if there is a problem in setting the actor.
* @see #getMustUnderstand() getMustUnderstand()
*/
public void setMustUnderstand(boolean mustUnderstand) {
this.omTarget.setMustUnderstand(mustUnderstand);
}
/**
* Returns whether the mustUnderstand attribute for this SOAPHeaderElement
object
* is turned on.
*
* @return true
if the mustUnderstand attribute of this
* SOAPHeaderElement
object is turned on; false
otherwise
*/
public boolean getMustUnderstand() {
return this.omTarget.getMustUnderstand();
}
/**
* Sets the Role associated with this SOAPHeaderElement object to the specified Role.
*
* @param uri - the URI of the Role
* @throws SOAPException - if there is an error in setting the role java.lang.UnsupportedOperationException
* - if this message does not support the SOAP 1.2 concept of Fault Role.
*/
public void setRole(String uri) throws SOAPException {
if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
throw new UnsupportedOperationException();
} else {
this.omTarget.setRole(uri);
}
}
public String getRole() {
if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
throw new UnsupportedOperationException();
} else {
return this.omTarget.getRole();
}
}
/**
* Sets the relay attribute for this SOAPHeaderElement 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. This attribute is
* ignored on header blocks whose mustUnderstand attribute is set to true or that are targeted
* at the ultimate reciever (which is the default). The default value of this attribute is
* false.
*
* @param relay - the new value of the relay attribute
* @throws SOAPException - if there is a problem in setting the relay attribute.
* java.lang.UnsupportedOperationException - if this message does not
* support the SOAP 1.2 concept of Relay attribute.
*/
public void setRelay(boolean flag) throws SOAPException {
if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
throw new UnsupportedOperationException();
} else {
this.omTarget.setRelay(flag);
}
}
public boolean getRelay() {
if (((SOAPFactory)this.omTarget.getOMFactory()).getSOAPVersion() == SOAP11Version.getSingleton()) {
throw new UnsupportedOperationException();
} else {
return this.omTarget.getRelay();
}
}
public void setParentElement(SOAPElement parent) throws SOAPException {
if (!(parent instanceof SOAPHeader)) {
throw new IllegalArgumentException("Parent is not a SOAPHeader");
}
super.setParentElement(parent);
}
}