Package net.shibboleth.idp.attribute.resolver.context.navigate

# Class AbstractAttributeResolutionLookupFunction<Type>

java.lang.Object
net.shibboleth.idp.attribute.resolver.context.navigate.AbstractAttributeResolutionLookupFunction<Type>

Type Parameters:
  `Type` - the type of data returned by the function

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

Direct Known Subclasses:
  `AttributeIssuerIdLookupFunction`, `AttributePrincipalLookupFunction`, `AttributeRecipientIdLookupFunction`, `ResolutionLabelLookupFunction`

public abstract class AbstractAttributeResolutionLookupFunction<Type> extends Object implements ContextDataLookupFunction<ProfileRequestContext,Type>
Base class for a function that takes a `ProfileRequestContext` and requires access to an `AttributeResolutionContext`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private Function<BaseContext,AttributeResolutionContext>`
`attributeResolutionContextLookupStrategy`
Strategy used to locate the `AttributeResolutionContext` associated with a given `ProfileRequestContext`.
`private final org.slf4j.Logger`
`log`
Class logger.

## Constructor Summary

Constructors
Constructor
Description
`AbstractAttributeResolutionLookupFunction()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`Type`
`apply(ProfileRequestContext input)`
`protected abstract Type`
`doApply(AttributeResolutionContext input)`
Method that performs eventual lookup of target data.
`void`
`setAttributeResolutionContextLookupStrategy(Function<BaseContext,AttributeResolutionContext> strategy)`
Sets the strategy used to locate the `AttributeResolutionContext` 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, compose`

## Field Details

### log

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

### attributeResolutionContextLookupStrategy

@Nonnull private Function<BaseContext,AttributeResolutionContext> attributeResolutionContextLookupStrategy
Strategy used to locate the `AttributeResolutionContext` associated with a given `ProfileRequestContext`.

## Constructor Details

### AbstractAttributeResolutionLookupFunction

public AbstractAttributeResolutionLookupFunction()
Constructor.

## Method Details

### setAttributeResolutionContextLookupStrategy

public void setAttributeResolutionContextLookupStrategy(@Nonnull Function<BaseContext,AttributeResolutionContext> strategy)
Sets the strategy used to locate the `AttributeResolutionContext` associated with a given `ProfileRequestContext`.

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

### apply

@Nullable public Type apply(@Nullable ProfileRequestContext input)

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

### doApply

@Nullable protected abstract Type doApply(@Nonnull AttributeResolutionContext input)
Method that performs eventual lookup of target data.

Parameters:
  `input` - the context to examine
Returns:
  the data to return