ditto-lib / live.ditto / DittoMutableDocumentPath

DittoMutableDocumentPath

class 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.

Properties

attachmentToken

val attachmentToken: DittoAttachmentToken?

Returns the value at the previously specified key in the document as a DittoAttachmentToken. If the key was invalid the return value will be null.

boolean

val boolean: Boolean?

Returns the value at the previously specified key in the document as a Boolean if possible, otherwise the return value will be null.

booleanValue

val booleanValue: Boolean

Returns the value at the previously specified key in the document as a Boolean. If the key was invalid the return value will be false.

docID

val docID: String

double

val double: Double?

Returns the value at the previously specified key in the document as a Double if possible, otherwise the return value will be null.

doubleValue

val doubleValue: Double

Returns the value at the previously specified key in the document as a Double. If the key was invalid the return value will be 0.0.

float

val float: Float?

Returns the value at the previously specified key in the document as a Float if possible, otherwise the return value will be null.

floatValue

val floatValue: Float

Returns the value at the previously specified key in the document as a Float. If the key was invalid the return value will be 0f.

int

val int: Int?

Returns the value at the previously specified key in the document as an Int if possible, otherwise the return value will be null.

intValue

val intValue: Int

Returns the value at the previously specified key in the document as an Int. If the key was invalid the return value will be 0.

list

val list: List<Any?>?

Returns the value at the previously specified key in the document as a List<Any?> if possible, otherwise the return value will be null.

listValue

val listValue: List<Any?>

Returns the value at the previously specified key in the document as a List<Any?>. If the key was invalid the return value will be an empty list.

map

val map: Map<String, Any?>?

Returns the value at the previously specified key in the document as a Map<String, Any?> if possible, otherwise the return value will be null.

mapValue

val mapValue: Map<String, Any?>

Returns the value at the previously specified key in the document as a Map<String, Any?>. If the key was invalid the return value will be an empty dictionary.

path

val path: String

string

val string: String?

Returns the value at the previously specified key in the document as a String if possible, otherwise the return value will be null.

stringValue

val stringValue: String

Returns the value at the previously specified key in the document as a String. If the key was invalid the return value will be an empty string.

Functions

get

operator fun get(key: String): DittoMutableDocumentPath

Used to specify a path to a key in the document that you can subscript further to access a nested key in the document and eventually perform an update operation on.

operator fun get(index: Int): DittoMutableDocumentPath

Used to specify an index in the array at the preceding key-path specified through the subscripting defined previously. You can subscript the return value further to access a further nested key in the document and eventually perform an update operation.

increment

fun increment(amount: Number): Unit

Increment a counter at the document's key defined by the preceding subscripting. This will only succeed if the value at the subscripting-defined key is a counter.

insert

fun insert(value: Any): Unit

Inserts a value into an array at the index defined by the preceding subscripting. This will only succeed if the value at the subscripting-defined key is an index into an array.

pop

fun pop(): Any?

Pop a value off the end of an array at the document's key defined by the preceding subscripting. This will only succeed if the value at the subscripting-defined key is an array.

push

fun push(value: Any): Unit

Push a value on to the end of an array at the document's key defined by the preceding subscripting. This will only succeed if the value at the subscripting-defined key is an array.

remove

fun remove(): Unit

Remove a value at the document's key defined by the preceding subscripting.

replaceWithCounter

fun replaceWithCounter(isDefault: Boolean = false): Unit

Replace a value at the document's key defined by the preceding subscripting with a counter.

set

fun set(value: Any, isDefault: Boolean = false): Unit

Set a value at the document's key defined by the preceding subscripting.