Package org.opensaml.messaging.handler.impl

# Class FunctionMessageHandler

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.messaging.handler.AbstractMessageHandler
org.opensaml.messaging.handler.impl.FunctionMessageHandler

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

public final class FunctionMessageHandler extends AbstractMessageHandler
Message handler that runs an injected function (expected to have side effects).

The function may return an exception to signal failure, allowing for checked exceptions.

Since:
  4.1.0

## Field Summary

Fields
Modifier and Type
Field
Description
`private Function<MessageContext,Function<MessageContext,Exception>>`
`lookupStrategy`
The `Function` to run.

## Constructor Summary

Constructors
Constructor
Description
`FunctionMessageHandler()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doInvoke(MessageContext messageContext)`
Performs the handler logic.
`void`
`setFunction(Function<MessageContext,Exception> function)`
Set the `Function` to use.
`void`
`setFunctionLookupStrategy(Function<MessageContext,Function<MessageContext,Exception>> strategy)`
Set a lookup strategy for the `Function` to use.

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

`doPostInvoke, doPostInvoke, doPreInvoke, 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

### lookupStrategy

@Nonnull private Function<MessageContext,Function<MessageContext,Exception>> lookupStrategy
The `Function` to run.

## Constructor Details

### FunctionMessageHandler

public FunctionMessageHandler()
Constructor.

## Method Details

### setFunction

public void setFunction(@Nullable Function<MessageContext,Exception> function)
Set the `Function` to use.

Parameters:
  `function` - the function to use

### setFunctionLookupStrategy

public void setFunctionLookupStrategy(@Nonnull Function<MessageContext,Function<MessageContext,Exception>> strategy)
Set a lookup strategy for the `Function` to use.

Parameters:
  `strategy` - lookup strategy
Since:
  5.0.0

### 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