Package net.shibboleth.idp.profile.impl

# Class InitializeProfileRequestContext

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.impl.InitializeProfileRequestContext

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

@ThreadSafe public final class InitializeProfileRequestContext extends AbstractProfileAction
Action that creates a new `ProfileRequestContext` and binds it to the current conversation under the `ProfileRequestContext.BINDING_KEY` key, and sets the profile and logging IDs, if provided.

This is a native SWF action in order to access conversation scope.

Optionally saves off query parameters from request into a `ScratchContext`.

Event:
  `EventIds.PROCEED_EVENT_ID`
Postcondition:
  RequestContext.getConversationScope().get(ProfileRequestContext.BINDING_KEY) != null

## Field Summary

Fields
Modifier and Type
Field
Description
`private boolean`
`browserProfile`
Whether this is a browser-based profile request.
`private boolean`
`captureQueryParameters`
Whether to capture and store off query parameters.
`private String`
`legacyProfileId`
Backup profile ID to populate as a legacy value.
`private String`
`loggingId`
The logging ID to initialize the context to.
`private String`
`profileId`
The profile ID to initialize the context to.

## Constructor Summary

Constructors
Constructor
Description
`InitializeProfileRequestContext()`

## Method Summary

Modifier and Type
Method
Description
`Event`
`execute(RequestContext springRequestContext)`
`void`
`setBrowserProfile(boolean browser)`
Set whether the request is browser-based, defaults to false.
`void`
`setCaptureQueryParameters(boolean flag)`
Set whether to capture incoming query parameters in a `ScratchContext`, defaults to false.
`void`
`setLegacyProfileId(String id)`
Set the legacy/fallback profile ID to populate into the context.
`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.

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

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

`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

### profileId

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

### legacyProfileId

@Nullable private String legacyProfileId
Backup profile ID to populate as a legacy value.

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

### captureQueryParameters

private boolean captureQueryParameters
Whether to capture and store off query parameters.

## Constructor Details

### InitializeProfileRequestContext

public InitializeProfileRequestContext()

## Method Details

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

### setLegacyProfileId

public void setLegacyProfileId(@Nullable String id)
Set the legacy/fallback profile ID to populate into the context.

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

### 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` - flag to set

### setCaptureQueryParameters

public void setCaptureQueryParameters(boolean flag)
Set whether to capture incoming query parameters in a `ScratchContext`, defaults to false.

Parameters:
  `flag` - flag to set
Since:
  4.1.0

### execute

@Nullable public Event execute(@Nullable RequestContext springRequestContext)

Specified by:
  `execute` in interface `Action`
Overrides:
  `execute` in class `AbstractProfileAction`