Package org.opensaml.profile.action.impl

# Class AbstractMessageChannelSecurity

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.impl.AbstractMessageChannelSecurity

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

Direct Known Subclasses:
  `HttpServletRequestMessageChannelSecurity`, `StaticMessageChannelSecurity`

public abstract class AbstractMessageChannelSecurity extends AbstractProfileAction
Abstract base class for profile actions which populate a `MessageChannelSecurityContext` on a `BaseContext`, where the latter is located using a lookup strategy.

## Field Summary

Fields
Modifier and Type
Field
Description
`private BaseContext`
`parentContext`
Parent for eventual context.
`private Function<ProfileRequestContext,BaseContext>`
`parentContextLookupStrategy`
Strategy used to look up the parent `BaseContext` on which the `MessageChannelSecurityContext` will be populated.

## Constructor Summary

Constructors
Constructor
Description
`AbstractMessageChannelSecurity()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`doPreExecute(ProfileRequestContext profileRequestContext)`
Called prior to execution, actions may override this method to perform pre-processing for a request.
`protected BaseContext`
`ensureParentContext()`
Get the parent context on which the `MessageChannelSecurityContext` will be populated, raising an `IllegalStateException` if absent.
`protected BaseContext`
`getParentContext()`
Get the parent context on which the `MessageChannelSecurityContext` will be populated.
`void`
`setParentContextLookupStrategy(Function<ProfileRequestContext,BaseContext> strategy)`
Set the strategy used to look up the parent `BaseContext` on which the `MessageChannelSecurityContext` will be populated.

### Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

`doExecute, doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

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

### parentContextLookupStrategy

@Nonnull private Function<ProfileRequestContext,BaseContext> parentContextLookupStrategy
Strategy used to look up the parent `BaseContext` on which the `MessageChannelSecurityContext` will be populated.

### parentContext

@Nullable private BaseContext parentContext
Parent for eventual context.

## Constructor Details

### AbstractMessageChannelSecurity

public AbstractMessageChannelSecurity()
Constructor.

## Method Details

### setParentContextLookupStrategy

public void setParentContextLookupStrategy(@Nonnull Function<ProfileRequestContext,BaseContext> strategy)
Set the strategy used to look up the parent `BaseContext` on which the `MessageChannelSecurityContext` will be populated.

Parameters:
  `strategy` - strategy used to look up the parent `BaseContext` on which to populate the `MessageChannelSecurityContext`

### doPreExecute

protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)
Called prior to execution, actions may override this method to perform pre-processing for a request.

If false is returned, execution will not proceed, and the action should attach an `EventContext` to the context tree to signal how to continue with overall workflow processing.

If returning successfully, the last step should be to return the result of the superclass version of this method.

Overrides:
  `doPreExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context
Returns:
  true iff execution should proceed

### getParentContext

@Nullable protected BaseContext getParentContext()
Get the parent context on which the `MessageChannelSecurityContext` will be populated.

Returns:
  the parent context

### ensureParentContext

@Nonnull protected BaseContext ensureParentContext()
Get the parent context on which the `MessageChannelSecurityContext` will be populated, raising an `IllegalStateException` if absent.

Returns:
  the parent context