GenericDocument.Builder
public
static
class
GenericDocument.Builder
extends Object
java.lang.Object | |
↳ | android.app.appsearch.GenericDocument.Builder<BuilderType extends android.app.appsearch.GenericDocument.Builder<BuilderType>> |
The builder class for GenericDocument
.
Summary
Public constructors | |
---|---|
Builder(String namespace, String id, String schemaType)
Creates a new |
|
Builder(GenericDocument document)
Creates a new |
Public methods | |
---|---|
GenericDocument
|
build()
Builds the |
BuilderType
|
clearProperty(String name)
Clears the value for the property with the given name. |
BuilderType
|
setCreationTimestampMillis(long creationTimestampMillis)
Sets the creation timestamp of the |
BuilderType
|
setId(String id)
Sets the ID of this document, changing the value provided in the constructor. |
BuilderType
|
setNamespace(String namespace)
Sets the app-defined namespace this document resides in, changing the value provided in the constructor. |
BuilderType
|
setPropertyBoolean(String name, boolean... values)
Sets one or multiple |
BuilderType
|
setPropertyBytes(String name, byte... values)
Sets one or multiple |
BuilderType
|
setPropertyDocument(String name, GenericDocument... values)
Sets one or multiple |
BuilderType
|
setPropertyDouble(String name, double... values)
Sets one or multiple |
BuilderType
|
setPropertyLong(String name, long... values)
Sets one or multiple |
BuilderType
|
setPropertyString(String name, String... values)
Sets one or multiple |
BuilderType
|
setSchemaType(String schemaType)
Sets the schema type of this document, changing the value provided in the constructor. |
BuilderType
|
setScore(int score)
Sets the score of the |
BuilderType
|
setTtlMillis(long ttlMillis)
Sets the TTL (time-to-live) of the |
Inherited methods | |
---|---|
Public constructors
Builder
public Builder (String namespace, String id, String schemaType)
Creates a new GenericDocument.Builder
.
Document IDs are unique within a namespace.
The number of namespaces per app should be kept small for efficiency reasons.
Parameters | |
---|---|
namespace |
String : the namespace to set for the GenericDocument .
This value cannot be null . |
id |
String : the unique identifier for the GenericDocument in its namespace.
This value cannot be null . |
schemaType |
String : the AppSearchSchema type of the GenericDocument . The
provided schemaType must be defined using AppSearchSession#setSchema
prior to inserting a document of this schemaType into the AppSearch index
using AppSearchSession#put . Otherwise, the document will be rejected by
AppSearchSession#put with result code AppSearchResult.RESULT_NOT_FOUND .
This value cannot be null . |
Builder
public Builder (GenericDocument document)
Creates a new GenericDocument.Builder
from the given GenericDocument.
The GenericDocument is deep copied, that is, it changes to a new GenericDocument returned by this function and will NOT affect the original GenericDocument.
Parameters | |
---|---|
document |
GenericDocument : This value cannot be null . |
Public methods
build
public GenericDocument build ()
Builds the GenericDocument
object.
Returns | |
---|---|
GenericDocument |
This value cannot be null . |
clearProperty
public BuilderType clearProperty (String name)
Clears the value for the property with the given name.
Note that this method does not support property paths.
You should check for the existence of the property in GenericDocument.getPropertyNames()
if you
need to make sure the property being cleared actually exists.
If the string passed is an invalid or nonexistent property, no error message or behavior will be observed.
Parameters | |
---|---|
name |
String : The name of the property to clear.
This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
setCreationTimestampMillis
public BuilderType setCreationTimestampMillis (long creationTimestampMillis)
Sets the creation timestamp of the GenericDocument
, in milliseconds.
This should be set using a value obtained from the System#currentTimeMillis
time base.
If this method is not called, this will be set to the time the object is built.
Parameters | |
---|---|
creationTimestampMillis |
long : a creation timestamp in milliseconds.
Value is a non-negative timestamp measured as the number of
milliseconds since 1970-01-01T00:00:00Z. |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
setId
public BuilderType setId (String id)
Sets the ID of this document, changing the value provided in the constructor. No special values are reserved or understood by the infrastructure.
Document IDs are unique within the combination of package, database, and namespace.
Setting a document with a duplicate id will overwrite the original document with the new document, enforcing uniqueness within the above constraint.
Parameters | |
---|---|
id |
String : This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
setNamespace
public BuilderType setNamespace (String namespace)
Sets the app-defined namespace this document resides in, changing the value provided in the constructor. No special values are reserved or understood by the infrastructure.
Document IDs are unique within a namespace.
The number of namespaces per app should be kept small for efficiency reasons.
Parameters | |
---|---|
namespace |
String : This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
setPropertyBoolean
public BuilderType setPropertyBoolean (String name, boolean... values)
Sets one or multiple boolean
values for a property, replacing its previous
values.
Parameters | |
---|---|
name |
String : the name associated with the values . Must match the name for this
property as given in AppSearchSchema.PropertyConfig#getName .
This value cannot be null . |
values |
boolean : the boolean values of the property.
This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the name is empty or null . |
setPropertyBytes
public BuilderType setPropertyBytes (String name, byte... values)
Sets one or multiple byte[]
for a property, replacing its previous values.
Parameters | |
---|---|
name |
String : the name associated with the values . Must match the name for this
property as given in AppSearchSchema.PropertyConfig#getName .
This value cannot be null . |
values |
byte : the byte[] of the property.
This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if no values are provided, or if a passed in byte[] is null , or if name is empty. |
setPropertyDocument
public BuilderType setPropertyDocument (String name, GenericDocument... values)
Sets one or multiple GenericDocument
values for a property, replacing its
previous values.
Parameters | |
---|---|
name |
String : the name associated with the values . Must match the name for this
property as given in AppSearchSchema.PropertyConfig#getName .
This value cannot be null . |
values |
GenericDocument : the GenericDocument values of the property.
This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if no values are provided, or if a passed in GenericDocument is null , or if name is empty. |
setPropertyDouble
public BuilderType setPropertyDouble (String name, double... values)
Sets one or multiple double
values for a property, replacing its previous values.
Parameters | |
---|---|
name |
String : the name associated with the values . Must match the name for this
property as given in AppSearchSchema.PropertyConfig#getName .
This value cannot be null . |
values |
double : the double values of the property.
This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the name is empty or null . |
setPropertyLong
public BuilderType setPropertyLong (String name, long... values)
Sets one or multiple long
values for a property, replacing its previous values.
Parameters | |
---|---|
name |
String : the name associated with the values . Must match the name for this
property as given in AppSearchSchema.PropertyConfig#getName .
This value cannot be null . |
values |
long : the long values of the property.
This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the name is empty or null . |
setPropertyString
public BuilderType setPropertyString (String name, String... values)
Sets one or multiple String
values for a property, replacing its previous values.
Parameters | |
---|---|
name |
String : the name associated with the values . Must match the name for this
property as given in AppSearchSchema.PropertyConfig#getName .
This value cannot be null . |
values |
String : the String values of the property.
This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if no values are provided, or if a passed in String is null or "". |
setSchemaType
public BuilderType setSchemaType (String schemaType)
Sets the schema type of this document, changing the value provided in the constructor.
To successfully index a document, the schema type must match the name of an AppSearchSchema
object previously provided to AppSearchSession#setSchema
.
Parameters | |
---|---|
schemaType |
String : This value cannot be null . |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
setScore
public BuilderType setScore (int score)
Sets 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. By default, scores are set to 0.
Parameters | |
---|---|
score |
int : any non-negative int representing the document's score.
Value is between 0 and Integer.MAX_VALUE inclusive |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the score is negative. |
setTtlMillis
public BuilderType setTtlMillis (long ttlMillis)
Sets the TTL (time-to-live) of the GenericDocument
, in milliseconds.
The TTL is measured against GenericDocument.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.
Parameters | |
---|---|
ttlMillis |
long : a non-negative duration in milliseconds. |
Returns | |
---|---|
BuilderType |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if ttlMillis is negative. |