Package org.opensaml.soap.wsaddressing.messaging.impl

# Class ValidateActionHandler

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.handler.AbstractMessageHandler
org.opensaml.soap.wsaddressing.messaging.impl.ValidateActionHandler

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `MessageHandler`

public class ValidateActionHandler extends AbstractMessageHandler
Handler implementation that checks a wsa:Action header against an expected value.

If the header is present, the value is first checked against the value obtained from subcontext data `WSAddressingContext.getActionURI()`. If that was not supplied, then the locally-configured value from `getExpectedActionURI()` is used. If neither expected value is available, the check is skipped.

## Field Summary

Fields
Modifier and Type
Field
Description
`private String`
`expectedActionURI`
The expected Action URI value.
`private org.slf4j.Logger`
`log`
Logger.

## Constructor Summary

Constructors
Constructor
Description
`ValidateActionHandler()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doInvoke(MessageContext messageContext)`
Performs the handler logic.
`protected boolean`
`doPreInvoke(MessageContext messageContext)`
Called prior to execution, handlers may override this method to perform pre-processing for a request.
`protected Action`
`getAction(MessageContext messageContext)`
Get message Action header.
`String`
`getExpectedActionURI()`
Get the expected Action URI.
`void`
`setExpectedActionURI(String uri)`
Set the expected Action URI value.

### Methods inherited from class org.opensaml.messaging.handler.AbstractMessageHandler

`doPostInvoke, doPostInvoke, getActivationCondition, getLogPrefix, invoke, isPreInvokeCalled, setActivationCondition`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

`initialize, isInitialized`

## Field Details

### log

@Nonnull private org.slf4j.Logger log
Logger.

### expectedActionURI

@Nullable private String expectedActionURI
The expected Action URI value.

## Constructor Details

### ValidateActionHandler

public ValidateActionHandler()

## Method Details

### getExpectedActionURI

@Nullable public String getExpectedActionURI()
Get the expected Action URI.

Returns:
  the expected URI, or null

### setExpectedActionURI

public void setExpectedActionURI(@Nullable String uri)
Set the expected Action URI value.

Parameters:
  `uri` - the new URI value

### doPreInvoke

protected boolean doPreInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException
Called prior to execution, handlers may override this method to perform pre-processing for a request.

The default impl applies the `Predicate` set via the `AbstractMessageHandler.setActivationCondition(Predicate)`.

If false is returned, execution will not proceed.

Subclasses which override this method should generally invoke the super version of this method first, so that the activation condition will be applied up front, and immediately return false if the super version returns false. This avoids unnecessary execution of the remaining pre-invocation code if the handler ultimately will not execute.

Overrides:
  `doPreInvoke` in class `AbstractMessageHandler`
Parameters:
  `messageContext` - the message context on which to invoke the handler
Returns:
  true iff execution should proceed
Throws:
  `MessageHandlerException` - if there is a problem executing the handler pre-routine

### doInvoke

protected void doInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException
Performs the handler logic.

Specified by:
  `doInvoke` in class `AbstractMessageHandler`
Parameters:
  `messageContext` - the message context on which to invoke the handler
Throws:
  `MessageHandlerException` - if there is an error invoking the handler on the message context

### getAction

@Nullable protected Action getAction(@Nonnull MessageContext messageContext)
Get message Action header.

Parameters:
  `messageContext` - the current message context
Returns:
  the message Action header