Class CacheableSecretsProviderDelegate<C>
java.lang.Object
com.evolveum.midpoint.common.secrets.CacheableSecretsProviderDelegate<C>
- Type Parameters:
C-
- All Implemented Interfaces:
SecretsProvider<C>
Delegate implementation for secret providers that is able to cache the resolved secrets and check keys for allowed prefixes.
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.prism.crypto.SecretsProvider
EMPTY_DEPENDENCIES -
Constructor Summary
ConstructorsConstructorDescriptionCacheableSecretsProviderDelegate(@NotNull SecretsProvider<C> delegate, Duration duration) -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()This method can be used to clean-up resources of secret provider.Returns configuration of the provider.@NotNull String[]Returns list of providers that this provider depends on.@NotNull StringReturns unique identifier of the provider.getSecretBinary(@NotNull String key) Returns secretByteBufferfor given key.getSecretString(@NotNull String key) Returns secretStringfor given key.voidPost-construction initialization.protected <ST> STresolveSecret(@NotNull String key, @NotNull Class<ST> type)
-
Constructor Details
-
CacheableSecretsProviderDelegate
public CacheableSecretsProviderDelegate(@NotNull @NotNull SecretsProvider<C> delegate, Duration duration)
-
-
Method Details
-
initialize
public void initialize()Description copied from interface:SecretsProviderPost-construction initialization. Called before the provider is added to the list of usable providers.- Specified by:
initializein interfaceSecretsProvider<C>
-
destroy
public void destroy()Description copied from interface:SecretsProviderThis method can be used to clean-up resources of secret provider. Called after provider was removed from the list of usable providers.- Specified by:
destroyin interfaceSecretsProvider<C>
-
getIdentifier
Description copied from interface:SecretsProviderReturns unique identifier of the provider.- Specified by:
getIdentifierin interfaceSecretsProvider<C>
-
getDependencies
Description copied from interface:SecretsProviderReturns list of providers that this provider depends on. The provider will be initialized after all dependencies are available and initialized. Default implementation returns an empty array.- Specified by:
getDependenciesin interfaceSecretsProvider<C>
-
getConfiguration
Description copied from interface:SecretsProviderReturns configuration of the provider.- Specified by:
getConfigurationin interfaceSecretsProvider<C>
-
getSecretBinary
Description copied from interface:SecretsProviderReturns secretByteBufferfor given key. Returns null if the secret does not exist.- Specified by:
getSecretBinaryin interfaceSecretsProvider<C>- Throws:
EncryptionException- if the secret cannot be resolved (e.g. due to network problems)
-
getSecretString
Description copied from interface:SecretsProviderReturns secretStringfor given key. Returns null if the secret does not exist.- Specified by:
getSecretStringin interfaceSecretsProvider<C>- Throws:
EncryptionException- if the secret cannot be resolved (e.g. due to network problems)
-
resolveSecret
protected <ST> ST resolveSecret(@NotNull @NotNull String key, @NotNull @NotNull Class<ST> type) throws EncryptionException - Throws:
EncryptionException
-