Package net.shibboleth.idp.profile.impl

# Class SelectRelyingPartyConfiguration

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

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

public final class SelectRelyingPartyConfiguration extends AbstractProfileAction
This action attempts to resolve a `RelyingPartyConfiguration` and adds it to the `RelyingPartyContext` that was looked up.

Both the original and the later-added criteria-driven resolvers are supported.

Event:
  `EventIds.PROCEED_EVENT_ID`, `IdPEventIds.INVALID_RELYING_PARTY_CTX`, `IdPEventIds.INVALID_RELYING_PARTY_CONFIG`
Postcondition:
  If a `RelyingPartyContext` is located, it will be populated with a non-null result of applying the supplied `RelyingPartyConfigurationResolver` to the `ProfileRequestContext`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Class logger.
`private Function<ProfileRequestContext,RelyingPartyContext>`
`relyingPartyContextLookupStrategy`
Strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`.
`private RelyingPartyContext`
`relyingPartyCtx`
The `RelyingPartyContext` to manipulate.
`private ReloadableService<RelyingPartyConfigurationResolver>`
`rpConfigResolver`
Resolver used to look up relying party configurations.

## Constructor Summary

Constructors
Constructor
Description
`SelectRelyingPartyConfiguration()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`doExecute(ProfileRequestContext profileRequestContext)`
`protected void`
`doInitialize()`
`boolean`
`doPreExecute(ProfileRequestContext profileRequestContext)`
`private RelyingPartyContext`
`getRelyingPartyCtx()`
Null safe getter.
`void`
`setRelyingPartyConfigurationResolver(ReloadableService<RelyingPartyConfigurationResolver> resolver)`
Set the relying party config resolver to use.
`void`
`setRelyingPartyContextLookupStrategy(Function<ProfileRequestContext,RelyingPartyContext> strategy)`
Set the strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`.

### 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, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, 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

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

### rpConfigResolver

@NonnullAfterInit private ReloadableService<RelyingPartyConfigurationResolver> rpConfigResolver
Resolver used to look up relying party configurations.

### relyingPartyContextLookupStrategy

@Nonnull private Function<ProfileRequestContext,RelyingPartyContext> relyingPartyContextLookupStrategy
Strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`.

### relyingPartyCtx

@NonnullBeforeExec private RelyingPartyContext relyingPartyCtx
The `RelyingPartyContext` to manipulate.

## Constructor Details

### SelectRelyingPartyConfiguration

public SelectRelyingPartyConfiguration()
Constructor.

## Method Details

### setRelyingPartyConfigurationResolver

public void setRelyingPartyConfigurationResolver(@Nonnull ReloadableService<RelyingPartyConfigurationResolver> resolver)
Set the relying party config resolver to use.

Parameters:
  `resolver` - the resolver to use

### setRelyingPartyContextLookupStrategy

public void setRelyingPartyContextLookupStrategy(@Nonnull Function<ProfileRequestContext,RelyingPartyContext> strategy)
Set the strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`.

Parameters:
  `strategy` - strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`

### getRelyingPartyCtx

@Nonnull private RelyingPartyContext getRelyingPartyCtx()
Null safe getter.

Returns:
  Returns the relyingPartyCtx.

### doInitialize

protected void doInitialize() throws ComponentInitializationException

Overrides:
  `doInitialize` in class `AbstractInitializableComponent`
Throws:
  `ComponentInitializationException`

### doPreExecute

public boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)

Overrides:
  `doPreExecute` in class `AbstractConditionalProfileAction`

### doExecute

public void doExecute(@Nonnull ProfileRequestContext profileRequestContext)

Overrides:
  `doExecute` in class `AbstractProfileAction`