Module io.ebean.api

Class AbstractDbEncrypt

java.lang.Object
io.ebean.config.dbplatform.AbstractDbEncrypt
All Implemented Interfaces:
DbEncrypt

public abstract class AbstractDbEncrypt extends Object implements DbEncrypt
Base type for DB platform specific Encryption.

DB specific classes that extend this need to set their specific encryption functions for varchar, date and timestamp. If they are left null then that is treated as though that data type can not be encrypted in the DB and will instead use java client encryption.

  • Field Details

    • varcharEncryptFunction

      protected DbEncryptFunction varcharEncryptFunction
      The encryption function for all String types (VARCHAR, CLOB, LONGVARCHAR, CHAR).
    • dateEncryptFunction

      protected DbEncryptFunction dateEncryptFunction
      The encryption function for all Date types (java.sql.Date, Joda Date types).
    • timestampEncryptFunction

      protected DbEncryptFunction timestampEncryptFunction
      The encryption function for all Timestamp types (java.sql.Timestamp, java.util.Date, java.util.Calendar, Joda DateTime types etc).
  • Constructor Details

    • AbstractDbEncrypt

      public AbstractDbEncrypt()
  • Method Details

    • getDbEncryptFunction

      public DbEncryptFunction getDbEncryptFunction(int jdbcType)
      Return the DB encryption function for the given JDBC type.

      Null is returned if DB encryption of the type is not supported.

      Specified by:
      getDbEncryptFunction in interface DbEncrypt
    • getEncryptDbType

      public int getEncryptDbType()
      Return the DB stored type for encrypted properties.
      Specified by:
      getEncryptDbType in interface DbEncrypt
    • isBindEncryptDataFirst

      public boolean isBindEncryptDataFirst()
      Generally encrypt function binding the data before the key (except h2).
      Specified by:
      isBindEncryptDataFirst in interface DbEncrypt