AppSearchSchema.StringPropertyConfig.Builder


public final class AppSearchSchema.StringPropertyConfig.Builder


Builder for StringPropertyConfig.

Summary

Public constructors

Builder(@NonNull String propertyName)

Creates a new StringPropertyConfig.Builder.

Public methods

@NonNull AppSearchSchema.StringPropertyConfig

Constructs a new StringPropertyConfig from the contents of this builder.

@NonNull AppSearchSchema.StringPropertyConfig.Builder
setCardinality(int cardinality)

Sets the cardinality of the property (whether it is optional, required or repeated).

@NonNull AppSearchSchema.StringPropertyConfig.Builder
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features .SCHEMA_STRING_PROPERTY_CONFIG_DELETE_PROPAGATION_TYPE_PROPAGATE_FROM)
@ExperimentalAppSearchApi
setDeletePropagationType(int deletePropagationType)

Configures how the deletion will be propagated between this document and the referenced document whose qualified id is held by this property.

@NonNull AppSearchSchema.StringPropertyConfig.Builder
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.SCHEMA_SET_DESCRIPTION)
@ExperimentalAppSearchApi
setDescription(@NonNull String description)

Sets a natural language description of this property.

@NonNull AppSearchSchema.StringPropertyConfig.Builder
setIndexingType(int indexingType)

Configures how a property should be indexed so that it can be retrieved by queries.

@NonNull AppSearchSchema.StringPropertyConfig.Builder
setJoinableValueType(int joinableValueType)

Configures how this property should be used as a joining matcher.

@NonNull AppSearchSchema.StringPropertyConfig.Builder
setTokenizerType(int tokenizerType)

Configures how this property should be tokenized (split into words).

Public constructors

Builder

Added in 1.1.0-alpha07
public Builder(@NonNull String propertyName)

Creates a new StringPropertyConfig.Builder.

Public methods

build

Added in 1.1.0-alpha07
public @NonNull AppSearchSchema.StringPropertyConfig build()

Constructs a new StringPropertyConfig from the contents of this builder.

Throws
java.lang.IllegalStateException

if any following condition:

setCardinality

Added in 1.1.0-alpha07
public @NonNull AppSearchSchema.StringPropertyConfig.Builder setCardinality(int cardinality)

Sets the cardinality of the property (whether it is optional, required or repeated).

If this method is not called, the default cardinality is CARDINALITY_OPTIONAL.

setDeletePropagationType

Added in 1.1.0-alpha07
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features
                            .SCHEMA_STRING_PROPERTY_CONFIG_DELETE_PROPAGATION_TYPE_PROPAGATE_FROM)
@ExperimentalAppSearchApi
public @NonNull AppSearchSchema.StringPropertyConfig.Builder setDeletePropagationType(int deletePropagationType)

Configures how the deletion will be propagated between this document and the referenced document whose qualified id is held by this property.

If this method is not called, the default delete propagation type is DELETE_PROPAGATION_TYPE_NONE, indicating that deletion will not propagate between this document and the referenced document.

If the delete propagation type is not DELETE_PROPAGATION_TYPE_NONE, then JOINABLE_VALUE_TYPE_QUALIFIED_ID must also be set since the delete propagation has to use the qualified id. Otherwise, throw IllegalStateException when building.

setDescription

Added in 1.1.0-alpha07
@RequiresFeature(enforcement = "androidx.appsearch.app.Features#isFeatureSupported", name = Features.SCHEMA_SET_DESCRIPTION)
@ExperimentalAppSearchApi
public @NonNull AppSearchSchema.StringPropertyConfig.Builder setDescription(@NonNull String description)

Sets a natural language description of this property.

For more details about the description field, see getDescription.

setIndexingType

Added in 1.1.0-alpha07
public @NonNull AppSearchSchema.StringPropertyConfig.Builder setIndexingType(int indexingType)

Configures how a property should be indexed so that it can be retrieved by queries.

If this method is not called, the default indexing type is INDEXING_TYPE_NONE, so that it cannot be matched by queries.

setJoinableValueType

Added in 1.1.0-alpha07
public @NonNull AppSearchSchema.StringPropertyConfig.Builder setJoinableValueType(int joinableValueType)

Configures how this property should be used as a joining matcher.

If this method is not called, the default joinable value type is JOINABLE_VALUE_TYPE_NONE, so that it is not joinable.

At most, 64 properties can be set as joinable per schema.

setTokenizerType

Added in 1.1.0-alpha07
public @NonNull AppSearchSchema.StringPropertyConfig.Builder setTokenizerType(int tokenizerType)

Configures how this property should be tokenized (split into words).

If this method is not called, the default indexing type is TOKENIZER_TYPE_NONE, so that it is not tokenized.

This method must be called with a value other than TOKENIZER_TYPE_NONE if the property is indexed (that is, if setIndexingType has been called with a value other than INDEXING_TYPE_NONE).