Interface EncryptionPluginSpi

All Known Implementing Classes:
Arc4EncryptionPluginSpi, ChaChaEncryptionPluginSpi

public interface EncryptionPluginSpi
Service provider interface for wire encryption plugins.

NOTE: This plugin is currently only internal to Jaybird, consider the API as unstable.

Since:
4.0
Author:
Mark Rotteveel
  • Method Details

    • encryptionIdentifier

      EncryptionIdentifier encryptionIdentifier()
      Returns:
      Encryption identifier
    • createEncryptionPlugin

      EncryptionPlugin createEncryptionPlugin(CryptSessionConfig cryptSessionConfig)
      Creates the encryption plugin for the provided crypt session config.
      Parameters:
      cryptSessionConfig - Crypt session config
      Returns:
      Encryption plugin
    • isSupported

      boolean isSupported(CryptConnectionInfo cryptConnectionInfo)
      Reports if the encryption plugin can work.

      The connectionInfo can be used to check compatibility with the connection, but other checks may be done as well. If the plugin expects to always work, it can simply return true.

      NOTE: Returning true does not express a guarantee the plugin will work, instead false expresses that the plugin cannot (or should not) be tried to use, because it will fail anyway.

      Parameters:
      cryptConnectionInfo - information on the connection
      Returns:
      true if the SPI expects the plugin to work, false if the plugin will not work
      Since:
      6