Class PopulateProfileInterceptorContext
- java.lang.Object
-
- net.shibboleth.utilities.java.support.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.profile.interceptor.impl.PopulateProfileInterceptorContext
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction,Aware,MessageSource,MessageSourceAware,Action
public class PopulateProfileInterceptorContext extends AbstractProfileInterceptorAction
An profile interceptor action that populates aProfileInterceptorContextwithProfileInterceptorFlowDescriptorobjects based on flow IDs from a lookup function.The flow IDs used for filtering must omit the
ProfileInterceptorFlowDescriptor.FLOW_ID_PREFIXprefix.- Event:
EventIds.PROCEED_EVENT_ID,IdPEventIds.INVALID_PROFILE_CONFIG- Postcondition:
- The ProfileInterceptorContext is modified as above.
-
-
Field Summary
Fields Modifier and Type Field Description private Function<ProfileRequestContext,Collection<String>>activeFlowsLookupStrategyLookup function for the flow IDs to activate from within the available set.private Collection<ProfileInterceptorFlowDescriptor>availableFlowsThe flows to make available for possible use.private org.slf4j.LoggerlogClass logger.private StringloggingLabelA label for logging activity indicating what type of flows are being handled.
-
Constructor Summary
Constructors Constructor Description PopulateProfileInterceptorContext()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoExecute(ProfileRequestContext profileRequestContext, ProfileInterceptorContext interceptorContext)Performs this profile interceptor action.protected voiddoInitialize()voidsetActiveFlowsLookupStrategy(Function<ProfileRequestContext,Collection<String>> strategy)Set the lookup strategy to use for the interceptor flows to activate.voidsetAvailableFlows(Collection<ProfileInterceptorFlowDescriptor> flows)Set the flows available for possible use.voidsetLoggingLabel(String label)Set a label for logging indicating which "type" of interceptors are being handled.-
Methods inherited from class net.shibboleth.idp.profile.interceptor.AbstractProfileInterceptorAction
doExecute, doPreExecute, 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, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, setHttpServletRequest, setHttpServletRequestSupplier, setHttpServletResponse, setHttpServletResponseSupplier
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, 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.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
availableFlows
@Nonnull @NonnullElements private Collection<ProfileInterceptorFlowDescriptor> availableFlows
The flows to make available for possible use.
-
activeFlowsLookupStrategy
@NonnullAfterInit private Function<ProfileRequestContext,Collection<String>> activeFlowsLookupStrategy
Lookup function for the flow IDs to activate from within the available set.
-
loggingLabel
@Nullable private String loggingLabel
A label for logging activity indicating what type of flows are being handled.
-
-
Method Detail
-
setAvailableFlows
public void setAvailableFlows(@Nonnull @NonnullElements Collection<ProfileInterceptorFlowDescriptor> flows)
Set the flows available for possible use.- Parameters:
flows- the flows available for possible use
-
setActiveFlowsLookupStrategy
public void setActiveFlowsLookupStrategy(@Nonnull Function<ProfileRequestContext,Collection<String>> strategy)Set the lookup strategy to use for the interceptor flows to activate.- Parameters:
strategy- lookup strategy
-
setLoggingLabel
public void setLoggingLabel(@Nullable @NotEmpty String label)
Set a label for logging indicating which "type" of interceptors are being handled.- Parameters:
label- logging label- Since:
- 4.2.0
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull ProfileInterceptorContext interceptorContext)Performs this profile interceptor action. Default implementation does nothing.- Overrides:
doExecutein classAbstractProfileInterceptorAction- Parameters:
profileRequestContext- the current profile request contextinterceptorContext- the current profile interceptor context
-
-