Package net.shibboleth.idp.authn.proxy.impl

# Class InitializeProxyProfileRequestContext

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.authn.proxy.impl.InitializeProxyProfileRequestContext

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

@ThreadSafe public final class InitializeProxyProfileRequestContext extends AbstractProfileAction
Action that creates a new `ProfileRequestContext` via a creation strategy, and sets the profile and logging IDs, if provided.

This is designed by default for use in creating a nested context tree beneath an active `AuthenticationContext` for use in managing a nested profile interaction with an external IdP.

Event:
  `EventIds.PROCEED_EVENT_ID`, `EventIds.INVALID_PROFILE_CTX`
Postcondition:
  context is created per the supplied strategy

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`private class`
`InitializeProxyProfileRequestContext.DefaultPRCCreationStrategy`
Default strategy that nests the new PRC below the AC.

## Field Summary

Fields
Modifier and Type
Field
Description
`private boolean`
`browserProfile`
Whether this is a browser-based profile request.
`private String`
`loggingId`
The logging ID to initialize the context to.
`private String`
`profileId`
The profile ID to initialize the context to.
`private Function<ProfileRequestContext,ProfileRequestContext>`
`profileRequestContextCreationStrategy`
Context creation strategy.

## Constructor Summary

Constructors
Constructor
Description
`InitializeProxyProfileRequestContext()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`doExecute(ProfileRequestContext profileRequestContext)`
`void`
`setBrowserProfile(boolean browser)`
Set whether the request is browser-based, defaults to false.
`void`
`setLoggingId(String id)`
Set the logging ID to populate into the context.
`void`
`setProfileId(String id)`
Set the profile ID to populate into the context.
`void`
`setProfileRequestContextCreationStrategy(Function<ProfileRequestContext,ProfileRequestContext> strategy)`
Set the strategy to use to locate/create the `ProfileRequestContext` to operate on.

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

`doPreExecute, 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

### profileRequestContextCreationStrategy

@Nonnull private Function<ProfileRequestContext,ProfileRequestContext> profileRequestContextCreationStrategy
Context creation strategy.

### profileId

@Nullable private String profileId
The profile ID to initialize the context to.

### loggingId

@Nullable private String loggingId
The logging ID to initialize the context to.

### browserProfile

private boolean browserProfile
Whether this is a browser-based profile request.

## Constructor Details

### InitializeProxyProfileRequestContext

public InitializeProxyProfileRequestContext()
Constructor.

## Method Details

### setProfileRequestContextCreationStrategy

public void setProfileRequestContextCreationStrategy(@Nonnull Function<ProfileRequestContext,ProfileRequestContext> strategy)
Set the strategy to use to locate/create the `ProfileRequestContext` to operate on.

Parameters:
  `strategy` - lookup/creation strategy

### setProfileId

public void setProfileId(@Nullable String id)
Set the profile ID to populate into the context.

Parameters:
  `id` - profile ID to populate into the context

### setLoggingId

public void setLoggingId(@Nullable String id)
Set the logging ID to populate into the context.

Parameters:
  `id` - logging ID to populate into the context

### setBrowserProfile

public void setBrowserProfile(boolean browser)
Set whether the request is browser-based, defaults to false.

Parameters:
  `browser` - true iff the request is browser based

### doExecute

public void doExecute(@Nonnull ProfileRequestContext profileRequestContext)

Overrides:
  `doExecute` in class `AbstractProfileAction`