All Types

live.ditto.android.AndroidDittoKitDependencies

An interface describing the dependencies required to initialise a live.ditto.DittoKit instance when running on an Android device.

live.ditto.android.DefaultAndroidDittoKitDependencies

Provides a default set of dependencies that you can pass to the live.ditto.DittoKit initializer that will work on Android.

live.ditto.DefaultLogger
live.ditto.android.DittoAndroidLogger

A default logger suitable for running on Android.

live.ditto.DittoCollection

A reference to a collection in a DittoStore.

live.ditto.DittoDBConfig

Configuration for the database backend that DittoStore uses.

live.ditto.DittoDictionaryDocument

This can be considered the default DittoDocument. Its inner value is of type Map<String, Any?>. You can represent any document using this type.

live.ditto.DittoDocument

A document belonging to a DittoCollection with a nested typed value.

live.ditto.DittoDocumentPath

Provides an interface to specify a path to a key in a document that you can then call a function on to get the value at the specified key as a specific type. You obtain a DittoDocumentPath by subscripting a DittoDocument and you can then further subscript a DittoDocumentPath to further specify the key of the document that you want to get the value of.

live.ditto.DittoIdentity

The various identity configurations that you can use when initializing a []DittoKit] instance.

live.ditto.DittoKit

DittoKit is the entry point for accessing Ditto-related functionality.

live.ditto.DittoKitCallback
live.ditto.DittoKitDependencies

An interface describing the dependencies required to initialise a DittoKit instance.

live.ditto.DittoKitError

All errors that are thrown by the DittoKit SDK are wrapped as a DittoKitError. It wraps multiple different types of error that each have an associated reason.

live.ditto.DittoLiveQuery

The type that is returned when calling observe on a DittoCollection object. It handles the logic for calling the event handler that is provided to the observe call.

live.ditto.DittoLiveQueryCallback

Typically this will only be used if interacting with the SDK from Java. You can call observe or observeLocal with an object that implements this interface.

live.ditto.DittoLiveQueryEvent

Describes the different types of event that you can receive when dealing with live queries.

live.ditto.DittoLiveQueryMove

Describes the index in a list of documents that a document was previously found at (from) and the index that it can now be found at (to).

live.ditto.DittoLogger
live.ditto.DittoMutableDocument

This is used as part of update operations for documents. It provides access to updating a document through a subscript-based API. A subscript operation returns a DittoMutableDocumentPath that you can then use to chain further subscript operations to in order to access nested values in a document. Once you've defined the path to a key in a document that you'd like to update, by using subscripts, then you can use the functionality defined on DittoMutableDocumentPath to perform the desired document update(s). Note that objects of this type should only be used within the scope of the update closure that they are provided in.

live.ditto.DittoMutableDocumentPath

Provides an interface to specify a path to a key in a document that you can then call various update functions on. You obtain a DittoMutableDocumentPath by subscripting a DittoMutableDocument and you can then further subscript a DittoMutableDocumentPath to further specify the key of the document that you want to update.

live.ditto.DittoMutableDocumentsUpdater

Typically this will only be used if interacting with the SDK from Java. You can call update with an object that implements this interface.

live.ditto.DittoPendingCursorOperation

These objects are returned when using find-like functionality on DittoCollections. They allow chaining of further query-related functions to do things like add a limit to the number of documents you want returned or specify how you want the documents to be sorted and ordered. You can either call exec on the object to get an array of DittoDocuments as an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by calling observe, will notify you every time there's an update to a document that matches the query you provided in the preceding find-like call. A subscription, established by calling subscribe, will act as a signal to other peers that the device connects to that you would like to receive updates from them about documents that match the query you provided in the preceding find-like call. Calling observe will generate both a subscription and a live query at the same time. If you'd like to only observe local changes then you can call observeLocal. Update and remove functionality is also exposed through this object.

live.ditto.DittoPendingIDSpecificOperation

These objects are returned when using findByID functionality on DittoCollections. You can either call exec on the object to get an immediate return value, or you can establish either a live query or a subscription, which both work over time. A live query, established by calling observe, will notify you every time there's an update to the document with the ID you provided in the preceding findByID call. A subscription, established by calling subscribe, will act as a signal to other peers that you would like to receive updates from them about the document with the ID you provided in the preceding findByID call. Calling observe will generate both a subscription and a live query at the same time. If you'd like to only observe local changes then you can call observeLocal. Update and remove functionality is also exposed through this object. Update and remove functionality is also exposed through this object.

live.ditto.DittoSingleDocumentDictionaryLiveQuery

The default type of DittoSingleDocumentLiveQuery. It will use the DittoDictionaryDocument type to represent the document when delivering updates.

live.ditto.DittoSingleDocumentLiveQuery

The type that is returned when calling observe or observeLocal on a DittoPendingIDSpecificOperation object. It handles the logic for calling the event handler that is provided to observe or observeLocal calls. DittoSingleDocumentLiveQuery objects must be kept in scope for as long as you with to have your event handler be called when there is an update to the referenced document.

live.ditto.DittoSingleDocumentLiveQueryCallback

Typically this will only be used if interacting with the SDK from Java. You can call observe or observeLocal with an object that implements this interface.

live.ditto.DittoSingleDocumentLiveQueryEvent

Represents a change to a document by providing a value representing the document's old state and a value representing the document's new state. If it is the first time that one of these events is delivered for a DittoSingleDocumentLiveQuery then the isInitial value will be true and the newDocument value will be populated, if there existed a document with the relevant ID. If there is no matching document found then both oldDocument and newDocument will be nil. If the document exists and is removed at a later date then an event will be delivered where oldDocument will be the most recent version of the document and newDocument will be nil. Similarly, if there was no document with the relevant ID and a document with the ID is later added then an event will be delivered where oldDocument is nil and newDocument will be the document as it was just inserted.

live.ditto.DittoSingleMutableDocumentUpdater

Typically this will only be used if interacting with the SDK from Java. You can call update with an object that implements this interface.

live.ditto.DittoStore

Provides access to DittoCollections and a write transaction API.

live.ditto.DittoSubscription

While DittoSubscription objects remain in scope they ensure that documents in the collection specified and that match the query provided will try to be kept up-to-date with the latest changes from remote peers.

live.ditto.DittoTransports

This enumeration lists the transports that DittoKit can use to connect to other devices.

live.ditto.DittoUpdateResult

Describes the result of an update operation performed on a DittoMutableDocument.

live.ditto.DittoWriteTransaction
live.ditto.DittoWriteTransactionHandler

Typically this will only be used if interacting with the SDK from Java. You can call write on a DittoStore instance with an object that implements this interface.

live.ditto.DittoWriteTransactionResult

Describes one part of the result of a write transaction.

live.ditto.DocumentPathSanitizer
live.ditto.LMDBError
live.ditto.LogLevel
live.ditto.MdnsPlatform
live.ditto.Status
live.ditto.Transport
live.ditto.TransportDiagnostics