Class Document
java.lang.Object
com.datastax.astra.client.collections.definition.documents.Document
- All Implemented Interfaces:
Serializable
Represents a document without schema constraints as a Map<String, Object>.(key/value)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionData to be used in the document.protected static final DataAPISerializer
Serializer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPut the given key/value pair into this Document and return this.Put the given key/value pair into this Document and return this.appendIfNotNull
(String key, Object value) Put the given key/value pair into this Document and return this only if the value is not null.void
clear()
Removes all mappings from this document.boolean
containsKey
(String key) Check if the given dot-delimited path exists as a key (final segment).static Document
create()
Create a document with no attributes.static Document
Create a document with an id.boolean
Compares this document to another object for equality.Access element from the map<T> T
Gets the value of the given key, casting it to the givenClass<T>
.Retrieves the value associated with the specified key from the document.Check if the given dot-delimited path exists as a key (final segment).<K> K[]
Return an Array of items.getBoolean
(String key) Gets the value of the given key as a Boolean.Access element from the mapAccess element from the mapAccess element from the mapAccess element from the mapGetter for the document map.Gets the value of the given key as a Double.Access element from the map<T> T
Access the document identifiergetInstant
(String k) Access element from the mapgetInteger
(String key) Gets the value of the given key as an Integer.Access attribute with vectorize name if any.<T> List
<T> Gets the list value of the given key, casting the list elements to the givenClass<T>
.Gets the value of the given key as a Long.<K,
V> Map <K, V> Gets the list value of the given key, casting the list elements to the givenClass<T>
.Access element from the mapAccess element from the mapGet value for similarity.Gets the value of the given key as a String.Access element from the mapGet value for vector.Access attribute with vectorize name if any.int
hashCode()
Returns the hash code value for this document.Add a hybrid attribute in the documentW<T> Document
id
(T id) Set value for the identifier.Add a vectorize attribute to the document.<T> T
Marshall as a document if needed.static Document
Parses a string in MongoDB Extended JSON format to aDocument
Associates the specified value with the specified key in the document.Associates the specified value with the specified key in the document.void
Copies all mappings from the specified map to this document.Removes the mapping for a key from the document if it is present.void
setProperty
(String key, Object value) Setter for a property in the document maptoJson()
Serialization with Jackson.toString()
Serialization with Jackson.vector
(float[] vector) Set the vector value.vector
(DataAPIVector vector) Set the vector value.Add a vectorize attribute to the document.Add a vectorize attribute to the document.Add a vectorize attribute to the document.
-
Field Details
-
Constructor Details
-
Method Details
-
getDocumentMap
Getter for the document map.- Returns:
- document map
-
setProperty
Setter for a property in the document map- Parameters:
key
- property namevalue
- property value
-
create
Create a document with an id.- Parameters:
id
- document identifier- Returns:
- instance of document
-
create
Create a document with no attributes.- Returns:
- instance of document
-
map
Marshall as a document if needed.- Type Parameters:
T
- current type- Parameters:
clazz
- target class- Returns:
- instance of pojo
-
parse
Parses a string in MongoDB Extended JSON format to aDocument
- Parameters:
json
- the JSON string- Returns:
- the document
-
append
Put the given key/value pair into this Document and return this. Useful for chaining puts in a single expression, e.g.doc.append("a", 1).append("b", 2)}
- Parameters:
keys
- list of keys to add to a documentvalue
- value- Returns:
- this
-
append
Put the given key/value pair into this Document and return this. Useful for chaining puts in a single expression, e.g.doc.append("a", 1).append("b", 2)}
- Parameters:
key
- keyvalue
- value- Returns:
- this
-
appendIfNotNull
Put the given key/value pair into this Document and return this only if the value is not null.doc.append("a", 1).append("b", 2)}
- Parameters:
key
- keyvalue
- value- Returns:
- this
-
get
Gets the value of the given key, casting it to the givenClass<T>
. This is useful to avoid having casts in client code, though the effect is the same. So to get the value of a key that is of type String, you would writeString name = doc.get("name", String.class)
instead ofString name = (String) doc.get("x")
.- Type Parameters:
T
- the type of the class- Parameters:
key
- the keyclazz
- the non-null class to cast the value to- Returns:
- the value of the given key, or null if the instance does not contain this key.
- Throws:
ClassCastException
- if the value of the given key is not of type T
-
getId
Access the document identifier- Type Parameters:
T
- type of id- Parameters:
clazz
- can be different type- Returns:
- value for object
-
id
Set value for the identifier.- Type Parameters:
T
- type of id- Parameters:
id
- id value- Returns:
- self reference
-
vectorize
Add a vectorize attribute to the document.- Parameters:
passage
- value for the vectorize attribute- Returns:
- self reference
-
vectorize
Add a vectorize attribute to the document.- Parameters:
vectorize
- value for the vectorize attribute- Returns:
- self reference
-
vectorize
Add a vectorize attribute to the document.- Parameters:
passage
- string to converted to vectorsetPassage
- field name in the document to store the vectorize string- Returns:
- self reference
-
hybrid
Add a hybrid attribute in the documentW- Parameters:
hybrid
- value for hybrid- Returns:
- self reference
-
lexical
Add a vectorize attribute to the document.- Parameters:
text
- value for the vectorize attribute- Returns:
- self reference
-
getLexical
Access attribute with vectorize name if any.- Returns:
- value for vectorize
-
getVectorize
Access attribute with vectorize name if any.- Returns:
- value for vectorize
-
getVector
Get value for vector.- Returns:
- vector list
-
vector
Set the vector value.- Parameters:
vector
- vector value- Returns:
- self reference
-
vector
Set the vector value.- Parameters:
vector
- vector value- Returns:
- self reference
-
getSimilarity
Get value for similarity.- Returns:
- vector list
-
getInteger
Gets the value of the given key as an Integer.- Parameters:
key
- the key- Returns:
- the value as an integer, which may be null
- Throws:
ClassCastException
- if the value is not an integer
-
getLong
Gets the value of the given key as a Long.- Parameters:
key
- the key- Returns:
- the value as a long, which may be null
- Throws:
ClassCastException
- if the value is not a long
-
getDouble
Gets the value of the given key as a Double.- Parameters:
key
- the key- Returns:
- the value as a double, which may be null
- Throws:
ClassCastException
- if the value is not a double
-
getString
Gets the value of the given key as a String.- Parameters:
key
- the key- Returns:
- the value as a String, which may be null
- Throws:
ClassCastException
- if the value is not a String
-
getBoolean
Gets the value of the given key as a Boolean.- Parameters:
key
- the key- Returns:
- the value as a Boolean, which may be null
- Throws:
ClassCastException
- if the value is not a boolean
-
getArray
Return an Array of items.- Type Parameters:
K
- type of item- Parameters:
k
- keyitemClass
- expected class- Returns:
- list of items
-
getObjectId
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getUUID
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getFloat
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getShort
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getByte
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getCharacter
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
ge
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getCalendar
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getInstant
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getDate
Access element from the map- Parameters:
k
- current configuration key- Returns:
- configuration value
-
getList
Gets the list value of the given key, casting the list elements to the givenClass<T>
. This is useful to avoid having casts in client code, though the effect is the same.- Type Parameters:
T
- the type of the class- Parameters:
key
- the keyclazz
- the non-null class to cast the list value to- Returns:
- the list value of the given key, or null if the instance does not contain this key.
- Throws:
ClassCastException
- if the elements in the list value of the given key is not of type T or the value is not a list- Since:
- 3.10
-
getMap
public <K,V> Map<K,V> getMap(@NonNull @NonNull String key, @NonNull @NonNull Class<K> keyClass, @NonNull @NonNull Class<V> valueClass) Gets the list value of the given key, casting the list elements to the givenClass<T>
. This is useful to avoid having casts in client code, though the effect is the same.- Type Parameters:
K
- type of the keyV
- type of the value- Parameters:
key
- the keykeyClass
- the non-null class to cast the list value tovalueClass
- the type of the value class- Returns:
- the list value of the given key, or null if the instance does not contain this key.
- Throws:
ClassCastException
- if the elements in the list value of the given key is not of type T or the value is not a list- Since:
- 3.10
-
toString
Serialization with Jackson. -
toJson
Serialization with Jackson.- Returns:
- json string
-
containsKey
Check if the given dot-delimited path exists as a key (final segment). e.g. containsKey("foo.bar") returns true if "bar" is present in the Map located at "foo".- Parameters:
key
- for key- Returns:
- if the key is present
-
get
Check if the given dot-delimited path exists as a key (final segment). e.g. containsKey("foo.bar") returns true if "bar" is present in the Map located at "foo".- Parameters:
fieldPathSegment
- for key- Returns:
- if the key is present
-
get
Retrieves the value associated with the specified key from the document.- Parameters:
key
- the key whose associated value is to be returned- Returns:
- the value associated with the specified key, or
null
if the key is not found
-
put
Associates the specified value with the specified key in the document. If the key already has a value, the old value is replaced.- Parameters:
key
- the key with which the specified value is to be associatedvalue
- the value to be associated with the specified key- Returns:
- the previous value associated with the key, or
null
if there was no mapping for the key
-
put
Associates the specified value with the specified key in the document. If the key already has a value, the old value is replaced.- Parameters:
keys
- the keys for the field segmentvalue
- the value to be associated with the specified key- Returns:
- the previous value associated with the key, or
null
if there was no mapping for the key
-
remove
Removes the mapping for a key from the document if it is present.- Parameters:
key
- the key whose mapping is to be removed- Returns:
- the value that was associated with the key, or
null
if the key was not mapped
-
putAll
Copies all mappings from the specified map to this document. Existing mappings will be replaced with mappings from the provided map.- Parameters:
map
- the map containing mappings to be copied to this document
-
clear
public void clear()Removes all mappings from this document. The document will be empty after this operation. -
equals
Compares this document to another object for equality. Two documents are considered equal if their underlying maps are equal. -
hashCode
public int hashCode()Returns the hash code value for this document. The hash code is computed based on the underlying map.
-