GenericDocument
public
class
GenericDocument
extends Object
java.lang.Object | |
↳ | android.app.appsearch.GenericDocument |
Represents a document unit.
Documents contain structured data conforming to their AppSearchSchema
type. Each
document is uniquely identified by a namespace and a String ID within that namespace.
Documents are constructed by using the GenericDocument.Builder
.
See also:
Summary
Nested classes | |
---|---|
class |
GenericDocument.Builder<BuilderType extends GenericDocument.Builder<BuilderType>>
The builder class for |
Protected constructors | |
---|---|
GenericDocument(GenericDocument document)
Creates a new |
Public methods | |
---|---|
boolean
|
equals(Object other)
Indicates whether some other object is "equal to" this one. |
long
|
getCreationTimestampMillis()
Returns the creation timestamp of the |
String
|
getId()
Returns the unique identifier of the |
static
int
|
getMaxIndexedProperties()
The maximum number of indexed properties a document can have. |
String
|
getNamespace()
Returns the namespace of the |
Object
|
getProperty(String path)
Retrieves the property value with the given path as |
boolean
|
getPropertyBoolean(String path)
Retrieves a |
boolean[]
|
getPropertyBooleanArray(String path)
Retrieves a repeated |
byte[]
|
getPropertyBytes(String path)
Retrieves a |
byte[][]
|
getPropertyBytesArray(String path)
Retrieves a |
GenericDocument
|
getPropertyDocument(String path)
Retrieves a |
GenericDocument[]
|
getPropertyDocumentArray(String path)
Retrieves a repeated |
double
|
getPropertyDouble(String path)
Retrieves a |
double[]
|
getPropertyDoubleArray(String path)
Retrieves a repeated |
EmbeddingVector
|
getPropertyEmbedding(String path)
Retrieves an |
EmbeddingVector[]
|
getPropertyEmbeddingArray(String path)
Retrieves a repeated |
long
|
getPropertyLong(String path)
Retrieves a |
long[]
|
getPropertyLongArray(String path)
Retrieves a repeated |
Set<String>
|
getPropertyNames()
Returns the names of all properties defined in this document. |
String
|
getPropertyString(String path)
Retrieves a |
String[]
|
getPropertyStringArray(String path)
Retrieves a repeated |
String
|
getSchemaType()
Returns the |
int
|
getScore()
Returns the score of the |
long
|
getTtlMillis()
Returns the TTL (time-to-live) of the |
int
|
hashCode()
Returns a hash code value for the object. |
String
|
toString()
Returns a string representation of the object. |
Inherited methods | |
---|---|
Protected constructors
GenericDocument
protected GenericDocument (GenericDocument document)
Creates a new GenericDocument
from an existing instance.
This method should be only used by constructor of a subclass.
Parameters | |
---|---|
document |
GenericDocument : This value cannot be null . |
Public methods
equals
public boolean equals (Object other)
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation
on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
other |
Object : This value may be null . |
Returns | |
---|---|
boolean |
true if this object is the same as the obj
argument; false otherwise. |
getCreationTimestampMillis
public long getCreationTimestampMillis ()
Returns the creation timestamp of the GenericDocument
, in milliseconds.
The value is in the System.currentTimeMillis
time base.
Value is a non-negative timestamp measured as the number of
milliseconds since 1970-01-01T00:00:00Z.
Returns | |
---|---|
long |
Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z. |
getId
public String getId ()
Returns the unique identifier of the GenericDocument
.
Returns | |
---|---|
String |
This value cannot be null . |
getMaxIndexedProperties
public static int getMaxIndexedProperties ()
The maximum number of indexed properties a document can have.
Indexed properties are properties which are strings where the AppSearchSchema.StringPropertyConfig.getIndexingType()
value is anything other than AppSearchSchema.StringPropertyConfig.INDEXING_TYPE_NONE
, as well as long properties where
the AppSearchSchema.LongPropertyConfig.getIndexingType
value is AppSearchSchema.LongPropertyConfig.INDEXING_TYPE_RANGE
.
Returns | |
---|---|
int |
getNamespace
public String getNamespace ()
Returns the namespace of the GenericDocument
.
Returns | |
---|---|
String |
This value cannot be null . |
getProperty
public Object getProperty (String path)
Retrieves the property value with the given path as Object
.
A path can be a simple property name, such as those returned by getPropertyNames()
.
It may also be a dot-delimited path through the nested document hierarchy, with nested GenericDocument
properties accessed via '.'
and repeated properties optionally
indexed into via [n]
.
For example, given the following GenericDocument
:
(Message) { from: "sender@example.com" to: [{ name: "Albert Einstein" email: "einstein@example.com" }, { name: "Marie Curie" email: "curie@example.com" }] tags: ["important", "inbox"] subject: "Hello" }
Here are some example paths and their results:
"from"
returns"sender@example.com"
as aString
array with one element"to"
returns the two nested documents containing contact information as aGenericDocument
array with two elements"to[1]"
returns the second nested document containing Marie Curie's contact information as aGenericDocument
array with one element"to[1].email"
returns"curie@example.com"
"to[100].email"
returnsnull
as this particular document does not have that many elements in its"to"
array."to.email"
aggregates emails across all nested documents that have them, returning["einstein@example.com", "curie@example.com"]
as aString
array with two elements.
If you know the expected type of the property you are retrieving, it is recommended to use
one of the typed versions of this method instead, such as getPropertyString(String)
or
getPropertyStringArray(String)
.
If the property was assigned as an empty array using one of the Builder#setProperty
functions, this method will return an empty array. If no such property
exists at all, this method returns null
.
Note: If the property is an empty GenericDocument
[] or byte[][]
, this
method will return a null
value in versions of Android prior to Android T
. Starting in Android T it will return an
empty array if the property has been set as an empty array, matching the behavior of other
property types.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
Object |
The entry with the given path as an object or null if there is no such path.
The returned object will be one of the following types: String[] , long[] ,
double[] , boolean[] , byte[][] , GenericDocument[] . |
getPropertyBoolean
public boolean getPropertyBoolean (String path)
Retrieves a boolean
property by path.
See getProperty(String)
for a detailed description of the path syntax.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
boolean |
The first boolean associated with the given path or default value false if there is no such value or the value is of a different type. |
getPropertyBooleanArray
public boolean[] getPropertyBooleanArray (String path)
Retrieves a repeated boolean
property by path.
See getProperty(String)
for a detailed description of the path syntax.
If the property has not been set via Builder.setPropertyBoolean
, this method
returns null
.
If it has been set via Builder.setPropertyBoolean
to an empty boolean[]
,
this method returns an empty boolean[]
.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
boolean[] |
The boolean[] associated with the given path, or null if no value is
set or the value is of a different type. |
getPropertyBytes
public byte[] getPropertyBytes (String path)
Retrieves a byte[]
property by path.
See getProperty(String)
for a detailed description of the path syntax.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
byte[] |
The first byte[] associated with the given path or null if there is
no such value or the value is of a different type. |
getPropertyBytesArray
public byte[][] getPropertyBytesArray (String path)
Retrieves a byte[][]
property by path.
See getProperty(String)
for a detailed description of the path syntax.
If the property has not been set via Builder.setPropertyBytes
, this method returns
null
.
If it has been set via Builder.setPropertyBytes
to an empty byte[][]
, this
method returns an empty byte[][]
starting in Android T
and null
in earlier versions of
Android.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
byte[][] |
The byte[][] associated with the given path, or null if no value is
set or the value is of a different type. |
getPropertyDocument
public GenericDocument getPropertyDocument (String path)
Retrieves a GenericDocument
property by path.
See getProperty(String)
for a detailed description of the path syntax.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
GenericDocument |
The first GenericDocument associated with the given path or null if
there is no such value or the value is of a different type. |
getPropertyDocumentArray
public GenericDocument[] getPropertyDocumentArray (String path)
Retrieves a repeated GenericDocument
property by path.
See getProperty(String)
for a detailed description of the path syntax.
If the property has not been set via Builder.setPropertyDocument
, this method
returns null
.
If it has been set via Builder.setPropertyDocument
to an empty GenericDocument[]
, this method returns an empty GenericDocument[]
starting in Android T
and null
in earlier versions of
Android.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
GenericDocument[] |
The GenericDocument [] associated with the given path, or null if no
value is set or the value is of a different type. |
getPropertyDouble
public double getPropertyDouble (String path)
Retrieves a double
property by path.
See getProperty(String)
for a detailed description of the path syntax.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
double |
The first double associated with the given path or default value 0.0
if there is no such value or the value is of a different type. |
getPropertyDoubleArray
public double[] getPropertyDoubleArray (String path)
Retrieves a repeated double
property by path.
See getProperty(String)
for a detailed description of the path syntax.
If the property has not been set via Builder.setPropertyDouble
, this method
returns null
.
If it has been set via Builder.setPropertyDouble
to an empty double[]
,
this method returns an empty double[]
.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
double[] |
The double[] associated with the given path, or null if no value is
set or the value is of a different type. |
getPropertyEmbedding
public EmbeddingVector getPropertyEmbedding (String path)
Retrieves an EmbeddingVector
property by path.
See getProperty(String)
for a detailed description of the path syntax.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
EmbeddingVector |
The first EmbeddingVector[] associated with the given path or null if
there is no such value or the value is of a different type. |
getPropertyEmbeddingArray
public EmbeddingVector[] getPropertyEmbeddingArray (String path)
Retrieves a repeated EmbeddingVector[]
property by path.
See getProperty(String)
for a detailed description of the path syntax.
If the property has not been set via Builder.setPropertyEmbedding
, this method
returns null
.
If it has been set via Builder.setPropertyEmbedding
to an empty EmbeddingVector[]
, this method returns an empty EmbeddingVector[]
.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
EmbeddingVector[] |
The EmbeddingVector[] associated with the given path, or null if no
value is set or the value is of a different type. |
getPropertyLong
public long getPropertyLong (String path)
Retrieves a long
property by path.
See getProperty(String)
for a detailed description of the path syntax.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
long |
The first long associated with the given path or default value 0 if
there is no such value or the value is of a different type. |
getPropertyLongArray
public long[] getPropertyLongArray (String path)
Retrieves a repeated long[]
property by path.
See getProperty(String)
for a detailed description of the path syntax.
If the property has not been set via Builder.setPropertyLong
, this method returns
null
.
If it has been set via Builder.setPropertyLong
to an empty long[]
, this
method returns an empty long[]
.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
long[] |
The long[] associated with the given path, or null if no value is set
or the value is of a different type. |
getPropertyNames
public Set<String> getPropertyNames ()
Returns the names of all properties defined in this document.
Returns | |
---|---|
Set<String> |
This value cannot be null . |
getPropertyString
public String getPropertyString (String path)
Retrieves a String
property by path.
See getProperty(String)
for a detailed description of the path syntax.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
String |
The first String associated with the given path or null if there is
no such value or the value is of a different type. |
getPropertyStringArray
public String[] getPropertyStringArray (String path)
Retrieves a repeated String
property by path.
See getProperty(String)
for a detailed description of the path syntax.
If the property has not been set via Builder.setPropertyString
, this method
returns null
.
If it has been set via Builder.setPropertyString
to an empty String[]
,
this method returns an empty String[]
.
Parameters | |
---|---|
path |
String : The path to look for.
This value cannot be null . |
Returns | |
---|---|
String[] |
The String[] associated with the given path, or null if no value is
set or the value is of a different type. |
getSchemaType
public String getSchemaType ()
Returns the AppSearchSchema
type of the GenericDocument
.
Returns | |
---|---|
String |
This value cannot be null . |
getScore
public int getScore ()
Returns the score of the GenericDocument
.
The score is a query-independent measure of the document's quality, relative to other
GenericDocument
objects of the same AppSearchSchema
type.
Results may be sorted by score using SearchSpec.Builder.setRankingStrategy
.
Documents with higher scores are considered better than documents with lower scores.
Any non-negative integer can be used a score.
Returns | |
---|---|
int |
getTtlMillis
public long getTtlMillis ()
Returns the TTL (time-to-live) of the GenericDocument
, in milliseconds.
The TTL is measured against getCreationTimestampMillis()
. At the timestamp of
creationTimestampMillis + ttlMillis
, measured in the System.currentTimeMillis
time base, the document will be auto-deleted.
The default value is 0, which means the document is permanent and won't be auto-deleted
until the app is uninstalled or AppSearchSession.remove
is called.
Returns | |
---|---|
long |
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is
supported for the benefit of hash tables such as those provided by
HashMap
.
The general contract of hashCode
is:
- Whenever it is invoked on the same object more than once during
an execution of a Java application, the
hashCode
method must consistently return the same integer, provided no information used inequals
comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. - If two objects are equal according to the
equals
method, then calling thehashCode
method on each of the two objects must produce the same integer result. - It is not required that if two objects are unequal
according to the
equals
method, then calling thehashCode
method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns | |
---|---|
int |
a hash code value for this object. |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String |
This value cannot be null . |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-11-20 UTC.