Class DatabaseConfiguration

java.lang.Object
com.couchbase.lite.DatabaseConfiguration

public final class DatabaseConfiguration extends Object
Configuration for opening a database.
  • Constructor Details

    • DatabaseConfiguration

      public DatabaseConfiguration()
    • DatabaseConfiguration

      public DatabaseConfiguration(@Nullable DatabaseConfiguration config)
      Copy constructor
      Parameters:
      config - the configuration to duplicate.
  • Method Details

    • setEncryptionKey

      @NonNull public DatabaseConfiguration setEncryptionKey(@Nullable EncryptionKey encryptionKey)
      ENTERPRISE EDITION API

      Set a key to encrypt the database with. If the database does not exist and is being created, it will use this key, and the same key must be given every time it's opened

      Parameters:
      encryptionKey - the key
      Returns:
      this.
    • getEncryptionKey

      @Nullable public EncryptionKey getEncryptionKey()
      ENTERPRISE EDITION API

      Returns a key to encrypt the database with.

      Returns:
      the key
    • setDirectory

      @NonNull public DatabaseConfiguration setDirectory(@NonNull String directory)
      Set the canonical path of the directory in which to store the database. If the directory doesn't already exist it will be created. If it cannot be created an CouchbaseLiteError will be thrown.

      Note: The directory set by this method is the canonical path to the directory whose path is passed. It is *NOT* necessarily the case that directory.equals(config.setDirectory(directory).getDirectory())

      Parameters:
      directory - the directory
      Returns:
      this.
      Throws:
      CouchbaseLiteError - if the directory does not exist and cannot be created
    • getDirectory

      @NonNull public String getDirectory()
      Returns the path to the directory that contains the database. If this path has not been set explicitly (see: setDirectory below), then it is the system default.

      Note: The directory returned by this method is the canonical path to the directory whose path was set. It is *NOT* necessarily the case that directory.equals(config.setDirectory(directory).getDirectory())

      Returns:
      the database directory
    • setFullSync

      @NonNull public DatabaseConfiguration setFullSync(boolean isFullSync)
      As Couchbase Lite normally configures its databases, there is a very small (though non-zero) chance that a power failure at just the wrong time could cause the most recently committed transaction's changes to be lost. This would cause the database to appear as it did immediately before that transaction. Setting this mode true ensures that an operating system crash or power failure will not cause the loss of any data. Full sync mode is very safe but it is also dramatically slower.
    • isFullSync

      public boolean isFullSync()
    • setMMapEnabled

      @NonNull public DatabaseConfiguration setMMapEnabled(boolean mmapEnabled)
      Advises Core to enable or disable memory-mapped Database files, if possible. Nmory-mapped database files are, currently, enabled by default, except on MacOS where they cannot be enabled at all.
    • isMMapEnabled

      public boolean isMMapEnabled()