Module io.ebean.api

Class 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 Detail

      • 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 Detail

      • AbstractDbEncrypt

        public AbstractDbEncrypt()
    • Method Detail

      • 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