Package net.shibboleth.idp.consent.flow.impl

# Class AbstractConsentAction

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
net.shibboleth.idp.profile.AbstractProfileAction
net.shibboleth.idp.profile.interceptor.AbstractProfileInterceptorAction
net.shibboleth.idp.consent.flow.impl.AbstractConsentAction

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`, `Aware`, `MessageSource`, `MessageSourceAware`, `Action`

Direct Known Subclasses:
  `AbstractAttributeReleaseAction`, `AbstractConsentStorageAction`, `ExtractConsent`, `PopulateConsentContext`

public abstract class AbstractConsentAction extends AbstractProfileInterceptorAction
Base class for consent actions. Ensures that :

- a consent context exists in the profile request context
- the flow descriptor is a `ConsentFlowDescriptor`

Event:
  `EventIds.INVALID_PROFILE_CTX`

## Field Summary

Fields
Modifier and Type
Field
Description
`private ConsentContext`
`consentContext`
Consent context.
`private Function<ProfileRequestContext,ConsentContext>`
`consentContextLookupStrategy`
Strategy used to find the `ConsentContext` from the `ProfileRequestContext`.
`private ConsentFlowDescriptor`
`consentFlowDescriptor`
Consent flow descriptor.
`private final org.slf4j.Logger`
`log`
Class logger.

## Constructor Summary

Constructors
Constructor
Description
`AbstractConsentAction()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`doPreExecute(ProfileRequestContext profileRequestContext, ProfileInterceptorContext interceptorContext)`
Performs this profile interceptor action's pre-execute step.
`ConsentContext`
`getConsentContext()`
Get the consent context.
`ConsentFlowDescriptor`
`getConsentFlowDescriptor()`
Get the consent flow descriptor.
`void`
`setConsentContextLookupStrategy(Function<ProfileRequestContext,ConsentContext> strategy)`
Set the consent context lookup strategy.

### Methods inherited from class net.shibboleth.idp.profile.interceptor.AbstractProfileInterceptorAction

`doExecute, doExecute, doPreExecute, setLookupStrategy`

### Methods inherited from class net.shibboleth.idp.profile.AbstractProfileAction

`doExecute, execute, getBean, getBean, getMessage, getMessage, getMessage, getParameter, getParameter, getProfileContextLookupStrategy, getRequestContext, getResult, setMessageSource, setProfileContextLookupStrategy`

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

`getActivationCondition, setActivationCondition`

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

`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

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

### consentContext

@Nullable private ConsentContext consentContext
Consent context.

### consentFlowDescriptor

@Nullable private ConsentFlowDescriptor consentFlowDescriptor
Consent flow descriptor.

### consentContextLookupStrategy

@Nonnull private Function<ProfileRequestContext,ConsentContext> consentContextLookupStrategy
Strategy used to find the `ConsentContext` from the `ProfileRequestContext`.

## Constructor Details

### AbstractConsentAction

public AbstractConsentAction()
Constructor.

## Method Details

### getConsentContext

@Nullable public ConsentContext getConsentContext()
Get the consent context.

Returns:
  the consent context

### getConsentFlowDescriptor

@Nullable public ConsentFlowDescriptor getConsentFlowDescriptor()
Get the consent flow descriptor.

Returns:
  the consent flow descriptor

### setConsentContextLookupStrategy

public void setConsentContextLookupStrategy(@Nonnull Function<ProfileRequestContext,ConsentContext> strategy)
Set the consent context lookup strategy.

Parameters:
  `strategy` - the consent context lookup strategy

### doPreExecute

protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull ProfileInterceptorContext interceptorContext)
Performs this profile interceptor action's pre-execute step. Default implementation returns true.

Overrides:
  `doPreExecute` in class `AbstractProfileInterceptorAction`
Parameters:
  `profileRequestContext` - the current profile request context
  `interceptorContext` - the current profile interceptor context
Returns:
  true iff execution should continue