Package net.shibboleth.idp.saml.session.impl

# Class BestMatchLocationLookupStrategy

java.lang.Object
net.shibboleth.idp.saml.session.impl.BestMatchLocationLookupStrategy

All Implemented Interfaces:
  `Function<ProfileRequestContext,BestMatchLocationCriterion>`

public class BestMatchLocationLookupStrategy extends Object implements Function<ProfileRequestContext,BestMatchLocationCriterion>
A strategy function for establishing an appropriate `BestMatchLocationCriterion` based on the `AssertionConsumerService` location used to initiate a `SAML2SPSession`.

Used during SAML 2.0 logout propagation to "fuzz" the determination of the best logout endpoint to use based on the original endpoint used.

Returns null if not applicable or the ACS is unknown.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Function<ProfileRequestContext,LogoutPropagationContext>`
`logoutPropagationContextLookupStrategy`
Lookup strategy for context.

## Constructor Summary

Constructors
Constructor
Description
`BestMatchLocationLookupStrategy()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`BestMatchLocationCriterion`
`apply(ProfileRequestContext input)`
`void`
`setLogoutContextLookupStrategy(Function<ProfileRequestContext,LogoutPropagationContext> strategy)`
Set the lookup strategy for the `LogoutPropagationContext` to access.

### 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, compose`

## Field Details

### logoutPropagationContextLookupStrategy

@Nonnull private Function<ProfileRequestContext,LogoutPropagationContext> logoutPropagationContextLookupStrategy
Lookup strategy for context.

## Constructor Details

### BestMatchLocationLookupStrategy

public BestMatchLocationLookupStrategy()
Constructor.

## Method Details

### setLogoutContextLookupStrategy

public void setLogoutContextLookupStrategy(@Nonnull Function<ProfileRequestContext,LogoutPropagationContext> strategy)
Set the lookup strategy for the `LogoutPropagationContext` to access.

Parameters:
  `strategy` - lookup strategy

### apply

@Nullable public BestMatchLocationCriterion apply(@Nullable ProfileRequestContext input)

Specified by:
  `apply` in interface `Function<ProfileRequestContext,BestMatchLocationCriterion>`