Package net.shibboleth.profile.context.navigate

# Class AbstractRelyingPartyLookupFunction<ResultType>

java.lang.Object
net.shibboleth.profile.context.navigate.AbstractRelyingPartyLookupFunction<ResultType>

Type Parameters:
  `ResultType` - return type of function

All Implemented Interfaces:
  `Function<ProfileRequestContext,ResultType>`, `ContextDataLookupFunction<ProfileRequestContext,ResultType>`

Direct Known Subclasses:
  `AbstractDefaultSecurityConfigurationLookupFunction`, `AssertionAudiencesLookupFunction`, `AssertionLifetimeLookupFunction`, `AudienceRestrictionsLookupFunction`, `IssuerLookupFunction`, `MaximumTimeSinceAuthnLookupFunction`, `ProxyCountLookupFunction`, `QualifiedNameIDFormatsLookupFunction`, `RelyingPartyIdLookupFunction`, `SAMLMetadataContextLookupFunction`

public abstract class AbstractRelyingPartyLookupFunction<ResultType> extends Object implements ContextDataLookupFunction<ProfileRequestContext,ResultType>
Abstract base class for a function that requires a `RelyingPartyContext` obtained via a lookup function, by default a child of the `ProfileRequestContext`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Function<ProfileRequestContext,RelyingPartyContext>`
`relyingPartyContextLookupStrategy`
Strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`.

## Constructor Summary

Constructors
Constructor
Description
`AbstractRelyingPartyLookupFunction()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected RelyingPartyContext`
`getRelyingPartyContext(ProfileRequestContext input)`
Invokes the installed lookup function to locate the `RelyingPartyContext`.
`Function<ProfileRequestContext,RelyingPartyContext>`
`getRelyingPartyContextLookupStrategy()`
Get the strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`.
`void`
`setRelyingPartyContextLookupStrategy(Function<ProfileRequestContext,RelyingPartyContext> strategy)`
Set the strategy used to locate the `RelyingPartyContext` associated with a given `ProfileRequestContext`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.function.Function

`andThen, apply, compose`

## Field Details

### relyingPartyContextLookupStrategy

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

## Constructor Details

### AbstractRelyingPartyLookupFunction

public AbstractRelyingPartyLookupFunction()
Constructor.

## Method Details

### setRelyingPartyContextLookupStrategy

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

Parameters:
  `strategy` - lookup strategy

### getRelyingPartyContextLookupStrategy

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

Returns:
  lookup strategy

### getRelyingPartyContext

@Nullable protected RelyingPartyContext getRelyingPartyContext(@Nullable ProfileRequestContext input)
Invokes the installed lookup function to locate the `RelyingPartyContext`.

Parameters:
  `input` - profile request context
Returns:
  the `RelyingPartyContext` or null