# Print output for @column tags ?>
public
static
final
class
SetSchemaRequest.Builder
extends Object
java.lang.Object | |
↳ | android.app.appsearch.SetSchemaRequest.Builder |
Builder for SetSchemaRequest
objects.
Public constructors | |
---|---|
Builder()
|
Public methods | |
---|---|
SetSchemaRequest.Builder
|
addSchemas(Collection<AppSearchSchema> schemas)
Adds a collection of |
SetSchemaRequest.Builder
|
addSchemas(AppSearchSchema... schemas)
Adds one or more |
SetSchemaRequest
|
build()
Builds a new |
SetSchemaRequest.Builder
|
setForceOverride(boolean forceOverride)
Sets whether or not to override the current schema in the |
SetSchemaRequest.Builder
|
setMigrator(String schemaType, Migrator migrator)
Sets the |
SetSchemaRequest.Builder
|
setMigrators(Map<String, Migrator> migrators)
Sets a Map of |
SetSchemaRequest.Builder
|
setSchemaTypeDisplayedBySystem(String schemaType, boolean displayed)
Sets whether or not documents from the provided |
SetSchemaRequest.Builder
|
setSchemaTypeVisibilityForPackage(String schemaType, boolean visible, PackageIdentifier packageIdentifier)
Sets whether or not documents from the provided |
SetSchemaRequest.Builder
|
setVersion(int version)
Sets the version number of the overall |
Inherited methods | |
---|---|
public Builder ()
public SetSchemaRequest.Builder addSchemas (Collection<AppSearchSchema> schemas)
Adds a collection of AppSearchSchema
objects to the schema.
An AppSearchSchema
object represents one type of structured data.
Parameters | |
---|---|
schemas |
Collection : This value cannot be null . |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
public SetSchemaRequest.Builder addSchemas (AppSearchSchema... schemas)
Adds one or more AppSearchSchema
types to the schema.
An AppSearchSchema
object represents one type of structured data.
Any documents of these types will be displayed on system UI surfaces by default.
Parameters | |
---|---|
schemas |
AppSearchSchema : This value cannot be null . |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
public SetSchemaRequest build ()
Builds a new SetSchemaRequest
object.
Returns | |
---|---|
SetSchemaRequest |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if schema types were referenced, but the corresponding
AppSearchSchema type was never added. |
public SetSchemaRequest.Builder setForceOverride (boolean forceOverride)
Sets whether or not to override the current schema in the AppSearchSession
database.
Call this method whenever backward incompatible changes need to be made by setting
forceOverride
to true
. As a result, during execution of the setSchema
operation, all documents that are incompatible with the new schema will be deleted and
the new schema will be saved and persisted.
By default, this is false
.
Parameters | |
---|---|
forceOverride |
boolean |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
public SetSchemaRequest.Builder setMigrator (String schemaType, Migrator migrator)
Sets the Migrator
associated with the given SchemaType.
The Migrator
migrates all GenericDocument
s under given schema type
from the current version number stored in AppSearch to the final version set via setVersion(int)
.
A Migrator
will be invoked if the current version number stored in AppSearch
is different from the final version set via setVersion(int)
and Migrator.shouldMigrate(int, int)
returns true
.
The target schema type of the output GenericDocument
of Migrator.onUpgrade(int, int, GenericDocument)
or Migrator#onDowngrade
must exist in this SetSchemaRequest
.
Parameters | |
---|---|
schemaType |
String : The schema type to set migrator on.
This value cannot be null . |
migrator |
Migrator : The migrator translates a document from its current version to the final
version set via setVersion(int) .
This value cannot be null . |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
public SetSchemaRequest.Builder setMigrators (Map<String, Migrator> migrators)
Sets a Map of Migrator
s.
The key of the map is the schema type that the Migrator
value applies to.
The Migrator
migrates all GenericDocument
s under given schema type
from the current version number stored in AppSearch to the final version set via setVersion(int)
.
A Migrator
will be invoked if the current version number stored in AppSearch
is different from the final version set via setVersion(int)
and Migrator.shouldMigrate(int, int)
returns true
.
The target schema type of the output GenericDocument
of Migrator.onUpgrade(int, int, GenericDocument)
or Migrator#onDowngrade
must exist in this SetSchemaRequest
.
Parameters | |
---|---|
migrators |
Map : A Map of migrators that translate a document from it's current
version to the final version set via setVersion(int) . The key of the map is the
schema type that the Migrator value applies to.
This value cannot be null . |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
public SetSchemaRequest.Builder setSchemaTypeDisplayedBySystem (String schemaType, boolean displayed)
Sets whether or not documents from the provided schemaType
will be displayed and
visible on any system UI surface.
This setting applies to the provided schemaType
only, and does not persist
across AppSearchSession#setSchema
calls.
The default behavior, if this method is not called, is to allow types to be displayed on system UI surfaces.
Parameters | |
---|---|
schemaType |
String : The name of an AppSearchSchema within the same SetSchemaRequest , which will be configured.
This value cannot be null . |
displayed |
boolean : Whether documents of this type will be displayed on system UI surfaces. |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
public SetSchemaRequest.Builder setSchemaTypeVisibilityForPackage (String schemaType, boolean visible, PackageIdentifier packageIdentifier)
Sets whether or not documents from the provided schemaType
can be read by the
specified package.
Each package is represented by a PackageIdentifier
, containing a package name
and a byte array of type PackageManager.CERT_INPUT_SHA256
.
To opt into one-way data sharing with another application, the developer will need to explicitly grant the other application’s package name and certificate Read access to its data.
For two-way data sharing, both applications need to explicitly grant Read access to one another.
By default, data sharing between applications is disabled.
Parameters | |
---|---|
schemaType |
String : The schema type to set visibility on.
This value cannot be null . |
visible |
boolean : Whether the schemaType will be visible or not. |
packageIdentifier |
PackageIdentifier : Represents the package that will be granted visibility.
This value cannot be null . |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
public SetSchemaRequest.Builder setVersion (int version)
Sets the version number of the overall AppSearchSchema
in the database.
The AppSearchSession
database can only ever hold documents for one version at
a time.
Setting a version number that is different from the version number currently stored in
AppSearch will result in AppSearch calling the Migrator
s provided to AppSearchSession.setSchema(SetSchemaRequest, Executor, Executor, Consumer
to migrate the documents already in AppSearch from the
previous version to the one set in this request. The version number can be updated
without any other changes to the set of schemas.
The version number can stay the same, increase, or decrease relative to the current
version number that is already stored in the AppSearchSession
database.
The version of an empty database will always be 0. You cannot set version to the
SetSchemaRequest
, if it doesn't contains any AppSearchSchema
.
Parameters | |
---|---|
version |
int : A positive integer representing the version of the entire set of schemas
represents the version of the whole schema in the AppSearchSession database,
default version is 1.
Value is 1 or greater |
Returns | |
---|---|
SetSchemaRequest.Builder |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
if the version is negative. |