Class CryptoProviderBuilderImpl

java.lang.Object
dev.orne.config.impl.CryptoProviderBuilderImpl
All Implemented Interfaces:
CryptoProviderBuilder, CryptoProviderEngineBuilder, CryptoProviderKeyBuilder

@API(status=INTERNAL, since="1.0") public class CryptoProviderBuilderImpl extends Object implements CryptoProviderEngineBuilder, CryptoProviderKeyBuilder, CryptoProviderBuilder
Implementation of configuration values cryptography transformations provider builder.
Since:
1.0
Version:
1.0, 2025-05
Author:
(w) Iker Hernaez
See Also:
  • Constructor Details

    • CryptoProviderBuilderImpl

      public CryptoProviderBuilderImpl()
      Empty constructor.
    • CryptoProviderBuilderImpl

      public CryptoProviderBuilderImpl(@NotNull @NotNull CryptoProviderBuilderImpl copy)
      Copy constructor.
      Parameters:
      copy - The instance to copy.
    • CryptoProviderBuilderImpl

      public CryptoProviderBuilderImpl(@NotNull @NotNull CryptoProviderOptions options)
      Copy constructor.
      Parameters:
      options - The cryptography transformations provider options to copy.
  • Method Details

    • withEngine

      @NotNull public @NotNull CryptoProviderBuilderImpl withEngine(@NotNull @NotNull ConfigCryptoEngine engine, boolean destroyEngine)
      Sets the cryptography transformations engine to use.
      Specified by:
      withEngine in interface CryptoProviderEngineBuilder
      Parameters:
      engine - The cryptography transformations engine to use.
      destroyEngine - If the cryptography engine must be destroyed on provider destruction.
      Returns:
      Next builder, for method chaining.
    • withAesGcmEngine

      @NotNull public @NotNull CryptoProviderBuilderImpl withAesGcmEngine(@NotNull @javax.validation.constraints.NotNull byte[] salt, boolean destroyEngine)
      Creates a new cryptography transformations provider builder based on Java Cryptography Architecture using AES with GCM symmetric algorithm.
      Specified by:
      withAesGcmEngine in interface CryptoProviderEngineBuilder
      Parameters:
      salt - The salt to apply to password based secret keys.
      destroyEngine - If the cryptography engine must be destroyed on provider destruction.
      Returns:
      Next builder, for method chaining.
    • withSecretKey

      @NotNull public @NotNull CryptoProviderBuilderImpl withSecretKey(@NotNull @javax.validation.constraints.NotNull char[] password)
      Sets the password used as secret key.
      Specified by:
      withSecretKey in interface CryptoProviderKeyBuilder
      Parameters:
      password - The password.
      Returns:
      Next builder, for method chaining.
    • withSecretKey

      @NotNull public @NotNull CryptoProviderBuilderImpl withSecretKey(@NotNull @NotNull SecretKey key)
      Sets the secret key.
      Specified by:
      withSecretKey in interface CryptoProviderKeyBuilder
      Parameters:
      key - The secret key.
      Returns:
      Next builder, for method chaining.
    • pooled

      @NotNull public @NotNull CryptoProviderBuilderImpl pooled()
      Enables Ciphers pooling.
      Specified by:
      pooled in interface CryptoProviderBuilder
      Returns:
      This builder, for method chaining.
    • build

      @NotNull public @NotNull ConfigCryptoProvider build()
      Creates a new cryptography transformations provider.
      Specified by:
      build in interface CryptoProviderBuilder
      Returns:
      The cryptography transformations provider.