Package org.opensaml.profile.action

# Class AbstractConditionalProfileAction

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

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

Direct Known Subclasses:
  `AbstractEncryptAction`, `AbstractHandlerDelegatingProfileAction`, `AddAudienceRestrictionToAssertions`, `AddChannelBindingsToAssertions`, `AddDoNotCacheConditionToAssertions`, `AddGeneratedKeyToAssertions`, `AddInResponseToToResponse`, `AddNotBeforeConditionToAssertions`, `AddNotOnOrAfterConditionToAssertions`, `AddOneTimeUseConditionToAssertions`, `AddProxyRestrictionToAssertions`, `PopulateDecryptionParameters`, `PopulateECPContext`, `ValidateHttpServletRequest`

public abstract class AbstractConditionalProfileAction extends AbstractProfileAction
Base class for conditional profile actions.

A condition does not represent a situation in which an error should be raised, but that normal processing should continue and the action simply doesn't apply, so a false condition does not raise a non-proceed event.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Predicate<ProfileRequestContext>`
`activationCondition`
Condition dictating whether to run or not.

## Constructor Summary

Constructors
Constructor
Description
`AbstractConditionalProfileAction()`
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.
`Predicate<ProfileRequestContext>`
`getActivationCondition()`
Get activation condition indicating whether action should execute.
`void`
`setActivationCondition(Predicate<ProfileRequestContext> condition)`
Set activation condition indicating whether action should execute.

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

### activationCondition

@Nonnull private Predicate<ProfileRequestContext> activationCondition
Condition dictating whether to run or not.

## Constructor Details

### AbstractConditionalProfileAction

public AbstractConditionalProfileAction()
Constructor.

## Method Details

### getActivationCondition

@Nonnull public Predicate<ProfileRequestContext> getActivationCondition()
Get activation condition indicating whether action should execute.

Returns:
  activation condition

### setActivationCondition

public void setActivationCondition(@Nonnull Predicate<ProfileRequestContext> condition)
Set activation condition indicating whether action should execute.

Parameters:
  `condition` - predicate to apply

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