Package net.shibboleth.idp.plugin.authn.webauthn.audit

# Class AbstractWebAuthnManagementAuditExtractor<T>

java.lang.Object
net.shibboleth.idp.plugin.authn.webauthn.audit.AbstractWebAuthnManagementAuditExtractor<T>

Type Parameters:
  `T` - the type to extract

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

Direct Known Subclasses:
  `WebAuthnCredentialToRemoveAuditExtractor`, `WebAuthnSearchUserAuditExtractor`

@ThreadSafe public abstract class AbstractWebAuthnManagementAuditExtractor<T> extends Object implements Function<ProfileRequestContext,T>
An abstract audit extractor function to extract values directly from the WebAuthn management context.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final Function<ProfileRequestContext,WebAuthnManagementContext>`
`webAuthnManagementContextLookupStrategy`
Lookup strategy to locate the WebAuthn management context.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AbstractWebAuthnManagementAuditExtractor(Function<ProfileRequestContext,WebAuthnManagementContext> strategy)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`T`
`apply(ProfileRequestContext profileRequestContext)`
`protected abstract T`
`doLookup(WebAuthnManagementContext context)`
Implemented to perform the actual lookup.

### 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

### webAuthnManagementContextLookupStrategy

@Nonnull private final Function<ProfileRequestContext,WebAuthnManagementContext> webAuthnManagementContextLookupStrategy
Lookup strategy to locate the WebAuthn management context.

## Constructor Details

### AbstractWebAuthnManagementAuditExtractor

protected AbstractWebAuthnManagementAuditExtractor(@Nonnull Function<ProfileRequestContext,WebAuthnManagementContext> strategy)
Constructor.

Parameters:
  `strategy` - the strategy used to locate the `WebAuthnManagementContext`.

## Method Details

### apply

@Nullable public T apply(@Nullable ProfileRequestContext profileRequestContext)

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

### doLookup

@Nullable protected abstract T doLookup(@Nonnull WebAuthnManagementContext context)
Implemented to perform the actual lookup.

Parameters:
  `context` - the base WebAuthn management context
Returns:
  lookup value or `null` if not found