Class 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
  • 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

      @Nonnull public void doExecute​(@Nonnull ProfileRequestContext profileRequestContext)
      Overrides:
      doExecute in class AbstractProfileAction