SharedBuilder

abstract class SharedBuilder<T, S : Configuration.SharedBuilder<T, S>>(schema: Set<KClass<out BaseRealmObject>>)

Base class for configuration builders that holds properties available to both RealmConfiguration and SyncConfiguration.

Parameters

T

the type of Configuration the builder should generate.

S

the type of builder, needed to distinguish between local and sync variants.

Constructors

SharedBuilder
Link copied to clipboard
fun SharedBuilder(schema: Set<KClass<out BaseRealmObject>> = setOf())

Functions

build
Link copied to clipboard
abstract fun build(): T

Creates the RealmConfiguration based on the builder properties.

compactOnLaunch
Link copied to clipboard
fun compactOnLaunch(callback: CompactOnLaunchCallback = Realm.DEFAULT_COMPACT_ON_LAUNCH_CALLBACK): S

Sets a callback for controlling whether the realm should be compacted when opened.

encryptionKey
Link copied to clipboard
fun encryptionKey(encryptionKey: ByteArray): S

Sets the 64 byte key used to encrypt and decrypt the Realm file. If no key is provided the Realm file will be unencrypted.

initialData
Link copied to clipboard
fun initialData(callback: InitialDataCallback): S

Writes initial data to the Realm file. This callback will be executed only once, when the database file is created. This also include cases where RealmConfiguration.Builder.deleteRealmIfMigrationNeeded was set causing the file to be deleted.

initialRealmFile
Link copied to clipboard
fun initialRealmFile(assetFile: String, sha256checkSum: String? = null): S

Initializes a realm file with a bundled asset realm file.

inMemory
Link copied to clipboard
fun inMemory(): S

Setting this will create an in-memory Realm instead of saving it to disk. In-memory Realms might still use disk space if memory is running low, but all files created by an in-memory Realm will be deleted when the Realm is closed.

log
Link copied to clipboard
open fun log(level: LogLevel = LogLevel.WARN, customLoggers: List<RealmLogger> = emptyList()): S

Configure how Realm will report log events.

maxNumberOfActiveVersions
Link copied to clipboard
fun maxNumberOfActiveVersions(maxVersions: Long = 8): S

Sets the maximum number of live versions in the Realm file before an IllegalStateException is thrown when attempting to write more data.

name
Link copied to clipboard
abstract fun name(name: String): S

Sets the filename of the realm file.

schemaVersion
Link copied to clipboard
fun schemaVersion(schemaVersion: Long): S

Sets the schema version of the Realm. This must be equal to or higher than the schema version of the existing Realm file, if any. If the schema version is higher than the already existing Realm, a migration is needed.

Inheritors

Builder
Link copied to clipboard