MutableDocument

A Couchbase Lite Document. A document has key/value properties like a Map.

Constructors

Link copied to clipboard
actual constructor()
actual constructor(id: String?)
actual constructor(data: Map<String, Any?>)
actual constructor(id: String?, data: Map<String, Any?>)
actual constructor(id: String?, json: String)
expect constructor()

Creates a new Document object with a new random UUID. The created document will be saved into a database when you call the Database's save(Document) method with the document object given.

expect constructor(id: String?)

Creates a new Document with the given ID. If the id is null, the document will be created with a new random UUID. The created document will be saved into a database when you call the Database's save(Document) method with the document object given.

expect constructor(data: Map<String, Any?>)

Creates a new Document with a new random UUID and the map as the content. Allowed value types are List, Instant, Map, Number, null, String, Array, Blob, and Dictionary. If present, Lists, Arrays, Maps and Dictionaries may contain only the above types. The created document will be saved into a database when you call Database.save(Document) with this document object.

expect constructor(id: String?, data: Map<String, Any?>)

Creates a new Document with a given ID and content from the passed Map. If the id is null, the document will be created with a new random UUID. Allowed value types are List, Instant, Map, Number, null, String, Array, Blob, and Dictionary. The List and Map must contain only the above types. The created document will be saved into a database when you call the Database's save(Document) method with the document object given.

expect constructor(id: String?, json: String)

Creates a new Document with the given ID and content from the passed JSON string. If the id is null, the document will be created with a new random UUID. The created document will be saved into a database when you call the Database's save(Document) method with the document object given.

actual constructor()
actual constructor(id: String?)
actual constructor(data: Map<String, Any?>)
actual constructor(id: String?, data: Map<String, Any?>)
actual constructor(id: String?, json: String)
actual constructor()
actual constructor(id: String?)
actual constructor(data: Map<String, Any?>)
actual constructor(id: String?, data: Map<String, Any?>)
actual constructor(id: String?, json: String)

Properties

Link copied to clipboard
actual val collection: Collection?
expect val collection: Collection?

The collection to which the document belongs.

actual val collection: Collection?
actual val collection: Collection?
Link copied to clipboard
actual open override val count: Int
expect open override val count: Int

The number of the entries in the document.

actual open override val count: Int

The number of the entries in the dictionary.

actual open override val count: Int
Link copied to clipboard
actual val id: String
expect val id: String

The document's ID.

actual val id: String
actual val id: String
Link copied to clipboard
actual open override val keys: List<String>
expect open override val keys: List<String>

A List containing all keys, or an empty List if the document has no properties.

actual open override val keys: List<String>

A List containing all keys, or an empty List if the dictionary has no properties.

actual open override val keys: List<String>
Link copied to clipboard
actual val revisionID: String?
expect val revisionID: String?

The document's revision id. The revision id in the Document class is a constant while the revision id in the MutableDocument class is not. A newly created Document will have a null revision id. The revision id in a MutableDocument will be updated on save. The revision id format is opaque, which means its format has no meaning and shouldn't be parsed to get information.

actual val revisionID: String?
actual val revisionID: String?
Link copied to clipboard
actual val sequence: Long
expect val sequence: Long

The sequence number of the document in the database. The sequence number indicates how recently the document has been changed. Every time a document is updated, the database assigns it the next sequential sequence number. Thus, when a document's sequence number changes it means that the document been updated (on-disk). If one document's sequence is different from another's, the document with the larger sequence number was changed more recently. Sequence numbers are not available for documents obtained from a replication filter. This method will always return 0 for such documents.

actual val sequence: Long
actual val sequence: Long

Functions

Link copied to clipboard
actual open operator override fun contains(key: String): Boolean
expect open operator override fun contains(key: String): Boolean

Tests whether a property exists or not. This can be less expensive than getValue(String), because it does not have to allocate an Object for the property value.

actual open operator override fun contains(key: String): Boolean

Tests whether a property exists or not. This can be less expensive than getValue(String), because it does not have to allocate an Object for the property value.

actual open operator override fun contains(key: String): Boolean
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
open operator override fun equals(other: Any?): Boolean
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard

Subscript access to a Fragment object of the projecting result value for the given key.

Subscript access to a MutableFragment object of the projecting result value for the given key.

Link copied to clipboard
actual open override fun getArray(key: String): MutableArray?
expect open override fun getArray(key: String): MutableArray?

Get a property's value as an Array. Returns null if the property doesn't exist, or its value is not an array.

actual open override fun getArray(key: String): MutableArray?

Get a property's value as an Array. Returns null if the property doesn't exist, or its value is not an array.

actual open override fun getArray(key: String): MutableArray?
Link copied to clipboard
actual open override fun getBlob(key: String): Blob?
expect open override fun getBlob(key: String): Blob?

Gets a property's value as a Blob. Returns null if the value doesn't exist, or its value is not a Blob.

actual open override fun getBlob(key: String): Blob?

Gets a property's value as a Blob. Returns null if the value doesn't exist, or its value is not a Blob.

open override fun getBlob(key: String): Blob?
Link copied to clipboard
actual open override fun getBoolean(key: String): Boolean
expect open override fun getBoolean(key: String): Boolean

Gets a property's value as a boolean. Returns true if the value exists, and is either true or a nonzero number.

actual open override fun getBoolean(key: String): Boolean

Gets a property's value as a boolean. Returns true if the value exists, and is either true or a nonzero number.

actual open override fun getBoolean(key: String): Boolean
Link copied to clipboard
actual open override fun getDate(key: String): Instant?
expect open override fun getDate(key: String): Instant?

Gets a property's value as an Instant date. JSON does not directly support dates, so the actual property value must be a string, which is then parsed according to the ISO-8601 date format (the default used in JSON.) Returns null if the value doesn't exist, is not a string, or is not parsable as a date. NOTE: This is not a generic date parser! It only recognizes the ISO-8601 format, with or without milliseconds.

actual open override fun getDate(key: String): Instant?

Gets a property's value as an Instant date. JSON does not directly support dates, so the actual property value must be a string, which is then parsed according to the ISO-8601 date format (the default used in JSON.) Returns null if the value doesn't exist, is not a string, or is not parsable as a date. NOTE: This is not a generic date parser! It only recognizes the ISO-8601 format, with or without milliseconds.

actual open override fun getDate(key: String): Instant?
Link copied to clipboard
actual open override fun getDictionary(key: String): MutableDictionary?
expect open override fun getDictionary(key: String): MutableDictionary?

Get a property's value as a Dictionary. Returns null if the property doesn't exist, or its value is not a dictionary.

actual open override fun getDictionary(key: String): MutableDictionary?

Get a property's value as a Dictionary. Returns null if the property doesn't exist, or its value is not a dictionary.

actual open override fun getDictionary(key: String): MutableDictionary?
Link copied to clipboard
actual open override fun getDouble(key: String): Double
expect open override fun getDouble(key: String): Double

Gets a property's value as a double. Integers will be converted to double. The value true is returned as 1.0, false as 0.0. Returns 0.0 if the property doesn't exist or does not have a numeric value.

actual open override fun getDouble(key: String): Double

Gets a property's value as a double. Integers will be converted to double. The value true is returned as 1.0, false as 0.0. Returns 0.0 if the property doesn't exist or does not have a numeric value.

actual open override fun getDouble(key: String): Double
Link copied to clipboard
actual open override fun getFloat(key: String): Float
expect open override fun getFloat(key: String): Float

Gets a property's value as a float. Integers will be converted to float. The value true is returned as 1.0, false as 0.0. Returns 0.0 if the value doesn't exist or does not have a numeric value.

actual open override fun getFloat(key: String): Float

Gets a property's value as a float. Integers will be converted to float. The value true is returned as 1.0, false as 0.0. Returns 0.0 if the value doesn't exist or does not have a numeric value.

actual open override fun getFloat(key: String): Float
Link copied to clipboard
actual open override fun getInt(key: String): Int
expect open override fun getInt(key: String): Int

Gets a property's value as an int. Floating point values will be rounded. The value true is returned as 1, false as 0. Returns 0 if the value doesn't exist or does not have a numeric value.

actual open override fun getInt(key: String): Int

Gets a property's value as an int. Floating point values will be rounded. The value true is returned as 1, false as 0. Returns 0 if the value doesn't exist or does not have a numeric value.

actual open override fun getInt(key: String): Int
Link copied to clipboard
actual open override fun getLong(key: String): Long
expect open override fun getLong(key: String): Long

Gets a property's value as a long. Floating point values will be rounded. The value true is returned as 1, false as 0. Returns 0 if the value doesn't exist or does not have a numeric value.

actual open override fun getLong(key: String): Long

Gets a property's value as a long. Floating point values will be rounded. The value true is returned as 1, false as 0. Returns 0 if the value doesn't exist or does not have a numeric value.

actual open override fun getLong(key: String): Long
Link copied to clipboard
actual open override fun getNumber(key: String): Number?
expect open override fun getNumber(key: String): Number?

Gets a property's value as a Number. Returns null if the value doesn't exist, or its value is not a Number.

actual open override fun getNumber(key: String): Number?

Gets a property's value as a Number. Returns null if the value doesn't exist, or its value is not a Number.

actual open override fun getNumber(key: String): Number?
Link copied to clipboard
actual open override fun getString(key: String): String?
expect open override fun getString(key: String): String?

Gets a property's value as a String. Returns null if the value doesn't exist, or its value is not a String.

actual open override fun getString(key: String): String?

Gets a property's value as a String. Returns null if the value doesn't exist, or its value is not a String.

actual open override fun getString(key: String): String?
Link copied to clipboard
actual open override fun getValue(key: String): Any?
expect open override fun getValue(key: String): Any?

Gets a property's value as an object. The object types are Blob, Array, Dictionary, Number, or String based on the underlying data type; or null if the property value is null or the property doesn't exist.

actual open override fun getValue(key: String): Any?

Gets a property's value as an object. The object types are Blob, Array, Dictionary, Number, or String based on the underlying data type; or null if the property value is null or the property doesn't exist.

open override fun getValue(key: String): Any?
Link copied to clipboard
open override fun hashCode(): Int
open override fun hashCode(): Int
open override fun hashCode(): Int
Link copied to clipboard
actual open operator override fun iterator(): Iterator<String>
expect open operator override fun iterator(): Iterator<String>

Gets an iterator over the keys of the document's properties

actual open operator override fun iterator(): Iterator<String>
actual open operator override fun iterator(): Iterator<String>
Link copied to clipboard
actual open override fun remove(key: String): MutableDocument
expect open override fun remove(key: String): MutableDocument

Removes the mapping for a key from this Document

actual open override fun remove(key: String): MutableDocument

Removes the mapping for a key from this Dictionary

actual open override fun remove(key: String): MutableDocument
Link copied to clipboard
actual open override fun setArray(key: String, value: Array?): MutableDocument
expect open override fun setArray(key: String, value: Array?): MutableDocument

Set an Array value for the given key

actual open override fun setArray(key: String, value: Array?): MutableDocument

Set an Array object for the given key.

actual open override fun setArray(key: String, value: Array?): MutableDocument
Link copied to clipboard
actual open override fun setBlob(key: String, value: Blob?): MutableDocument
expect open override fun setBlob(key: String, value: Blob?): MutableDocument

Set a Blob value for the given key

actual open override fun setBlob(key: String, value: Blob?): MutableDocument

Set a Blob object for the given key.

actual open override fun setBlob(key: String, value: Blob?): MutableDocument
Link copied to clipboard
actual open override fun setBoolean(key: String, value: Boolean): MutableDocument
expect open override fun setBoolean(key: String, value: Boolean): MutableDocument

Set a boolean value for the given key

actual open override fun setBoolean(key: String, value: Boolean): MutableDocument

Set a boolean value for the given key.

actual open override fun setBoolean(key: String, value: Boolean): MutableDocument
Link copied to clipboard
actual open override fun setData(data: Map<String, Any?>): MutableDocument
expect open override fun setData(data: Map<String, Any?>): MutableDocument

Populate a document with content from a Map. Allowed value types are List, Instant, Map, Number, null, String, Array, Blob, and Dictionary. If present, Lists, Arrays, Maps and Dictionaries may contain only the above types. Setting the document content will replace the current data, including the existing Array and Dictionary objects.

actual open override fun setData(data: Map<String, Any?>): MutableDocument

Populate a dictionary with content from a Map. Allowed value types are List, Instant, Map, Number, null, String, Array, Blob, and Dictionary. If present, Lists, Arrays, Maps and Dictionaries may contain only the above types. Setting the dictionary content will replace the current data including any existing Array and Dictionary objects.

actual open override fun setData(data: Map<String, Any?>): MutableDocument
Link copied to clipboard
actual open override fun setDate(key: String, value: Instant?): MutableDocument
expect open override fun setDate(key: String, value: Instant?): MutableDocument

Set an Instant date value for the given key

actual open override fun setDate(key: String, value: <Error class: unknown class>?): MutableDocument

Set an Instant date object for the given key.

actual open override fun setDate(key: String, value: Instant?): MutableDocument
Link copied to clipboard
actual open override fun setDictionary(key: String, value: Dictionary?): MutableDocument
expect open override fun setDictionary(key: String, value: Dictionary?): MutableDocument

Set a Dictionary value for the given key

actual open override fun setDictionary(key: String, value: Dictionary?): MutableDocument

Set a Dictionary object for the given key.

actual open override fun setDictionary(key: String, value: Dictionary?): MutableDocument
Link copied to clipboard
actual open override fun setDouble(key: String, value: Double): MutableDocument
expect open override fun setDouble(key: String, value: Double): MutableDocument

Set a double value for the given key

actual open override fun setDouble(key: String, value: Double): MutableDocument

Set a double value for the given key.

actual open override fun setDouble(key: String, value: Double): MutableDocument
Link copied to clipboard
actual open override fun setFloat(key: String, value: Float): MutableDocument
expect open override fun setFloat(key: String, value: Float): MutableDocument

Set a float value for the given key

actual open override fun setFloat(key: String, value: Float): MutableDocument

Set a float value for the given key.

actual open override fun setFloat(key: String, value: Float): MutableDocument
Link copied to clipboard
actual open override fun setInt(key: String, value: Int): MutableDocument
expect open override fun setInt(key: String, value: Int): MutableDocument

Set an integer value for the given key

actual open override fun setInt(key: String, value: Int): MutableDocument

Set an int value for the given key.

actual open override fun setInt(key: String, value: Int): MutableDocument
Link copied to clipboard
actual open override fun setJSON(json: String): MutableDocument
expect open override fun setJSON(json: String): MutableDocument

Populate a document with content from a JSON string. Allowed value types are List, Instant, Map, Number, null, String, Array, Blob, and Dictionary. If present, Lists, Arrays, Maps and Dictionaries may contain only the above types. Setting the document content will replace the current data, including the existing Array and Dictionary objects.

actual open override fun setJSON(json: String): MutableDocument

Populate a dictionary with content from a JSON string. Setting the dictionary content will replace the current data including any existing Array and Dictionary objects.

actual open override fun setJSON(json: String): MutableDocument
Link copied to clipboard
actual open override fun setLong(key: String, value: Long): MutableDocument
expect open override fun setLong(key: String, value: Long): MutableDocument

Set a long value for the given key

actual open override fun setLong(key: String, value: Long): MutableDocument

Set a long value for the given key.

actual open override fun setLong(key: String, value: Long): MutableDocument
Link copied to clipboard
actual open override fun setNumber(key: String, value: Number?): MutableDocument
expect open override fun setNumber(key: String, value: Number?): MutableDocument

Set a Number value for the given key

actual open override fun setNumber(key: String, value: Number?): MutableDocument

Set a Number value for the given key.

actual open override fun setNumber(key: String, value: Number?): MutableDocument
Link copied to clipboard
actual open override fun setString(key: String, value: String?): MutableDocument
expect open override fun setString(key: String, value: String?): MutableDocument

Set a String value for the given key

actual open override fun setString(key: String, value: String?): MutableDocument

Set a String value for the given key.

actual open override fun setString(key: String, value: String?): MutableDocument
Link copied to clipboard
actual open override fun setValue(key: String, value: Any?): MutableDocument
expect open override fun setValue(key: String, value: Any?): MutableDocument

Set an object value by key. Allowed value types are List, Instant, Map, Number, null, String, Array, Blob, and Dictionary. If present, Lists, Arrays, Maps and Dictionaries may contain only the above types. An Instant date object will be converted to an ISO-8601 format string.

actual open override fun setValue(key: String, value: Any?): MutableDocument

Set an object value by key. Allowed value types are List, Instant, Map, Number, null, String, Array, Blob, and Dictionary. If present, Lists, Arrays, Maps and Dictionaries may contain only the above types.

actual open override fun setValue(key: String, value: Any?): MutableDocument
Link copied to clipboard
open override fun toJSON(): String
expect open override fun toJSON(): String

Encode a Dictionary as a JSON string

actual open override fun toJSON(): String

Encode a Dictionary as a JSON string

open override fun toJSON(): String
Link copied to clipboard
actual open override fun toMap(): Map<String, Any?>
expect open override fun toMap(): Map<String, Any?>

Gets content of the current object as a Map. The values contained in the returned Map object are all JSON based values.

actual open override fun toMap(): Map<String, Any?>

Gets content of the current object as a Map. The values contained in the returned Map object are all JSON based values.

actual open override fun toMap(): Map<String, Any?>
Link copied to clipboard
actual open fun toMutable(): MutableDocument
expect open override fun toMutable(): MutableDocument

Returns the copy of this MutableDocument object.

actual open fun toMutable(): MutableDocument
actual open fun toMutable(): MutableDocument
Link copied to clipboard
open override fun toString(): String
open override fun toString(): String
open override fun toString(): String