Package net.shibboleth.idp.plugin.authn.webauthn.storage.impl

# Interface WebAuthnJDBCQueryAccelerator

All Superinterfaces:
  `WebAuthnJDBCAccelerator`

All Known Implementing Classes:
  `WebAuthnJDBCAcceleratorImpl`

public interface WebAuthnJDBCQueryAccelerator extends WebAuthnJDBCAccelerator
An accelerator for JDBC queries to improve the performance of lookup operations that search for non-indexed fields, namely; userHandle and credentialId.

Since:
  1.3.0

## Method Summary

Modifier and Type
Method
Description
`<T> List<StorageRecord<Set<T>>>`
`queryByCredentialId(String context, String credentialId)`
Queries the underlying data source for credentials associated with the given credentialId.
`<T> List<StorageRecord<Set<T>>>`
`queryByUserHandle(String context, String userHandle)`
Queries the underlying data source for credentials associated with the given userHandle.

## Method Details

### queryByUserHandle

@Nonnull @NotLive @Unmodifiable <T> List<StorageRecord<Set<T>>> queryByUserHandle(@Nonnull @NotEmpty String context, @Nonnull @NotEmpty String userHandle) throws IOException
Queries the underlying data source for credentials associated with the given userHandle.

Implementations may retrieve data from a JSON field (e.g., a "value" column), requiring JSON querying capabilities in the underlying RDBMS.

Type Parameters:
  `T` - the storage record type
Parameters:
  `context` - the context
  `userHandle` - the userHandle to query for
Returns:
  a list of credentials that are a match for the given userHandle
Throws:
  `IOException` - on error

### queryByCredentialId

@Nonnull @NotLive @Unmodifiable <T> List<StorageRecord<Set<T>>> queryByCredentialId(@Nonnull @NotEmpty String context, @Nonnull @NotEmpty String credentialId) throws IOException
Queries the underlying data source for credentials associated with the given credentialId.

Implementations may retrieve data from a JSON field (e.g., a "value" column), requiring JSON querying capabilities in the underlying RDBMS.

Type Parameters:
  `T` - the storage record type
Parameters:
  `context` - the context
  `credentialId` - the credentialId to query for
Returns:
  a list of credentials that are a match for the given userHandle
Throws:
  `IOException` - on error