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

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

var path: String

A representation of the path to be used to access a property in a document.

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.

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.

replaceText

fun replaceText(index: Int, length: Int, newText: String): Unit

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

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.