001package io.ebean.config;
002
003/**
004 * Determine keys used for encryption and decryption.
005 */
006@FunctionalInterface
007public interface EncryptKeyManager {
008
009  /**
010   * Initialise the EncryptKeyManager.
011   * <p>
012   * This gives the EncryptKeyManager the opportunity to get keys etc.
013   * </p>
014   */
015  default void initialise() {}
016
017  /**
018   * Return the key used to encrypt and decrypt a property mapping to the given
019   * table and column.
020   */
021  EncryptKey getEncryptKey(String tableName, String columnName);
022}