Package com.couchbase.lite
Class Document
java.lang.Object
com.couchbase.lite.Document
- All Implemented Interfaces:
DictionaryInterface
,Iterable<String>
- Direct Known Subclasses:
MutableDocument
Readonly version of the Document.
-
Constructor Summary
ModifierConstructorDescriptionprotected
Document
(Collection collection, String id, com.couchbase.lite.internal.core.C4Document c4doc, boolean mutable) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Tests whether a property exists or not.int
count()
Gets the number of the entries in the document.boolean
Get a property's value as a Array.Gets a property's value as a Blob.boolean
getBoolean
(String key) Gets a property's value as a boolean.return the collection to which the document belongs.protected final Dictionary
Gets a property's value as a Date.getDictionary
(String key) Get a property's value as a Dictionary.double
Gets a property's value as an double.float
Gets a property's value as an float.getId()
return the document's ID.int
Gets a property's value as an int.getKeys()
Get an List containing all keys, or an empty List if the document has no properties.long
Gets a property's value as an long.Gets a property's value as a Number.Get the document's revision id.long
Return the sequence number of the document in the database.Gets a property's value as a String.Gets a property's value as an object.int
hashCode()
iterator()
Gets an iterator over the keys of the document's propertiesprotected final void
setContent
(Dictionary content) toJSON()
toMap()
Gets content of the current object as an Map.Return a mutable copy of the documenttoString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
Document
protected Document(@Nullable Collection collection, @NonNull String id, @Nullable com.couchbase.lite.internal.core.C4Document c4doc, boolean mutable)
-
-
Method Details
-
getCollection
return the collection to which the document belongs.- Returns:
- the document's collection
-
getId
return the document's ID.- Returns:
- the document's ID
-
getRevisionID
Get 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.- Returns:
- the document's revision id
-
getSequence
public long getSequence()Return 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 than 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.- Returns:
- the sequence number of the document in the database.
-
toMutable
Return a mutable copy of the document- Returns:
- the MutableDocument instance
-
count
public int count()Gets the number of the entries in the document.- Specified by:
count
in interfaceDictionaryInterface
- Returns:
- the number of entries in the document.
-
getKeys
Get an List containing all keys, or an empty List if the document has no properties.- Specified by:
getKeys
in interfaceDictionaryInterface
- Returns:
- all keys
-
getValue
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 nil if the property value is null or the property doesn't exist.- Specified by:
getValue
in interfaceDictionaryInterface
- Parameters:
key
- the key.- Returns:
- the object value or null.
-
getString
Gets a property's value as a String. Returns null if the value doesn't exist, or its value is not a String.- Specified by:
getString
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the String or null.
-
getNumber
Gets a property's value as a Number. Returns null if the value doesn't exist, or its value is not a Number.- Specified by:
getNumber
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the Number or nil.
-
getInt
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.- Specified by:
getInt
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the int value.
-
getLong
Gets a property's value as an 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.- Specified by:
getLong
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the long value.
-
getFloat
Gets a property's value as an 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.- Specified by:
getFloat
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the float value.
-
getDouble
Gets a property's value as an 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.- Specified by:
getDouble
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the double value.
-
getBoolean
Gets a property's value as a boolean. Returns true if the value exists, and is either `true` or a nonzero number.- Specified by:
getBoolean
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the boolean value.
-
getBlob
Gets a property's value as a Blob. Returns null if the value doesn't exist, or its value is not a Blob.- Specified by:
getBlob
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the Blob value or null.
-
getDate
Gets a property's value as a 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.- Specified by:
getDate
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the Date value or null.
-
getArray
Get a property's value as a Array. Returns null if the property doesn't exists, or its value is not an Array.- Specified by:
getArray
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- The Array object or null.
-
getDictionary
Get a property's value as a Dictionary. Returns null if the property doesn't exists, or its value is not a Dictionary.- Specified by:
getDictionary
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- The Dictionary object or null.
-
toMap
Gets content of the current object as an Map. The values contained in the returned Map object are all JSON based values.- Specified by:
toMap
in interfaceDictionaryInterface
- Returns:
- the Map object representing the content of the current object in the JSON format.
-
toJSON
- Specified by:
toJSON
in interfaceDictionaryInterface
-
contains
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.- Specified by:
contains
in interfaceDictionaryInterface
- Parameters:
key
- the key- Returns:
- the boolean value representing whether a property exists or not.
-
iterator
Gets an iterator over the keys of the document's properties -
equals
-
hashCode
public int hashCode() -
toString
-
getContent
-
setContent
-