public interface Features


A class that encapsulates all features that are only supported in certain cases (e.g. only on certain implementations or only at a certain Android API Level).

Features do not depend on any runtime state, and features will never be removed. Once isFeatureSupported returns true for a certain feature, it is safe to assume that the feature will be available forever on that AppSearch storage implementation, at that Android API level, on that device.

Summary

Constants

default static final String
ADD_PERMISSIONS_AND_GET_VISIBILITY = "ADD_PERMISSIONS_AND_GET_VISIBILITY"

Feature for isFeatureSupported.

default static final String
GLOBAL_SEARCH_SESSION_GET_BY_ID = "GLOBAL_SEARCH_SESSION_GET_BY_ID"

Feature for isFeatureSupported.

default static final String
GLOBAL_SEARCH_SESSION_GET_SCHEMA = "GLOBAL_SEARCH_SESSION_GET_SCHEMA"

Feature for isFeatureSupported.

default static final String
GLOBAL_SEARCH_SESSION_REGISTER_OBSERVER_CALLBACK = "GLOBAL_SEARCH_SESSION_REGISTER_OBSERVER_CALLBACK"

Feature for isFeatureSupported.

default static final String
JOIN_SPEC_AND_QUALIFIED_ID = "JOIN_SPEC_AND_QUALIFIED_ID"

Feature for isFeatureSupported.

default static final String
LIST_FILTER_QUERY_LANGUAGE = "LIST_FILTER_QUERY_LANGUAGE"

Feature for isFeatureSupported.

default static final String
NUMERIC_SEARCH = "NUMERIC_SEARCH"

Feature for isFeatureSupported.

default static final String
SCHEMA_ADD_INDEXABLE_NESTED_PROPERTIES = "SCHEMA_ADD_INDEXABLE_NESTED_PROPERTIES"

Feature for isFeatureSupported.

default static final String
SCHEMA_ADD_PARENT_TYPE = "SCHEMA_ADD_PARENT_TYPE"

Feature for isFeatureSupported.

default static final String
SCHEMA_SET_DELETION_PROPAGATION = "SCHEMA_SET_DELETION_PROPAGATION"

Feature for isFeatureSupported.

default static final String
SEARCH_RESULT_MATCH_INFO_SUBMATCH = "SEARCH_RESULT_MATCH_INFO_SUBMATCH"

Feature for isFeatureSupported.

default static final String
SEARCH_SPEC_ADVANCED_RANKING_EXPRESSION = "SEARCH_SPEC_ADVANCED_RANKING_EXPRESSION"

Feature for isFeatureSupported.

default static final String
SEARCH_SPEC_GROUPING_TYPE_PER_SCHEMA = "SEARCH_SPEC_GROUPING_TYPE_PER_SCHEMA"

Feature for isFeatureSupported.

default static final String
SEARCH_SPEC_PROPERTY_WEIGHTS = "SEARCH_SPEC_PROPERTY_WEIGHTS"

Feature for isFeatureSupported.

default static final String
SEARCH_SUGGESTION = "SEARCH_SUGGESTION"

Feature for isFeatureSupported.

default static final String
SET_SCHEMA_CIRCULAR_REFERENCES = "SET_SCHEMA_CIRCULAR_REFERENCES"

Feature for isFeatureSupported.

default static final String
TOKENIZER_TYPE_RFC822 = "TOKENIZER_TYPE_RFC822"

Feature for isFeatureSupported.

default static final String
VERBATIM_SEARCH = "VERBATIM_SEARCH"

Feature for isFeatureSupported.

Public methods

abstract boolean

Returns whether a feature is supported at run-time.

Constants

ADD_PERMISSIONS_AND_GET_VISIBILITY

Added in 1.1.0-alpha04
default static final String ADD_PERMISSIONS_AND_GET_VISIBILITY = "ADD_PERMISSIONS_AND_GET_VISIBILITY"

Feature for isFeatureSupported. This feature covers addAllowedRoleForSchemaTypeVisibility, clearAllowedRolesForSchemaTypeVisibility, getSchemaTypesNotDisplayedBySystem, getSchemaTypesVisibleToPackages, getRequiredPermissionsForSchemaTypeVisibility, addRequiredPermissionsForSchemaTypeVisibility and clearRequiredPermissionsForSchemaTypeVisibility

GLOBAL_SEARCH_SESSION_GET_BY_ID

Added in 1.1.0-alpha04
default static final String GLOBAL_SEARCH_SESSION_GET_BY_ID = "GLOBAL_SEARCH_SESSION_GET_BY_ID"

Feature for isFeatureSupported. This feature covers getByDocumentIdAsync.

GLOBAL_SEARCH_SESSION_GET_SCHEMA

Added in 1.1.0-alpha04
default static final String GLOBAL_SEARCH_SESSION_GET_SCHEMA = "GLOBAL_SEARCH_SESSION_GET_SCHEMA"

Feature for isFeatureSupported. This feature covers getSchemaAsync.

GLOBAL_SEARCH_SESSION_REGISTER_OBSERVER_CALLBACK

Added in 1.1.0-alpha04
default static final String GLOBAL_SEARCH_SESSION_REGISTER_OBSERVER_CALLBACK = "GLOBAL_SEARCH_SESSION_REGISTER_OBSERVER_CALLBACK"

Feature for isFeatureSupported. This feature covers registerObserverCallback and unregisterObserverCallback.

JOIN_SPEC_AND_QUALIFIED_ID

Added in 1.1.0-alpha04
default static final String JOIN_SPEC_AND_QUALIFIED_ID = "JOIN_SPEC_AND_QUALIFIED_ID"

Feature for isFeatureSupported. This feature covers JOINABLE_VALUE_TYPE_QUALIFIED_ID, setJoinSpec, and all other join features.

LIST_FILTER_QUERY_LANGUAGE

Added in 1.1.0-alpha04
default static final String LIST_FILTER_QUERY_LANGUAGE = "LIST_FILTER_QUERY_LANGUAGE"

Feature for isFeatureSupported. This feature covers the expansion of the query language to conform to the definition of the list filters language (https://aip.dev/160).

For more details, see search.

NUMERIC_SEARCH

Added in 1.1.0-alpha04
default static final String NUMERIC_SEARCH = "NUMERIC_SEARCH"

Feature for isFeatureSupported. This feature covers INDEXING_TYPE_RANGE and all other numeric search features.

For details on the numeric search expressions in the query language, see search.

SCHEMA_ADD_INDEXABLE_NESTED_PROPERTIES

Added in 1.1.0-alpha04
default static final String SCHEMA_ADD_INDEXABLE_NESTED_PROPERTIES = "SCHEMA_ADD_INDEXABLE_NESTED_PROPERTIES"

Feature for isFeatureSupported. This feature covers addIndexableNestedProperties

SCHEMA_ADD_PARENT_TYPE

Added in 1.1.0-alpha04
default static final String SCHEMA_ADD_PARENT_TYPE = "SCHEMA_ADD_PARENT_TYPE"

Feature for isFeatureSupported. This feature covers addParentType.

SCHEMA_SET_DELETION_PROPAGATION

Added in 1.1.0-alpha04
default static final String SCHEMA_SET_DELETION_PROPAGATION = "SCHEMA_SET_DELETION_PROPAGATION"

Feature for isFeatureSupported. This feature covers setDeletionPropagation.

SEARCH_RESULT_MATCH_INFO_SUBMATCH

Added in 1.1.0-alpha04
default static final String SEARCH_RESULT_MATCH_INFO_SUBMATCH = "SEARCH_RESULT_MATCH_INFO_SUBMATCH"

Feature for isFeatureSupported. This feature covers getSubmatchRange and getSubmatch.

SEARCH_SPEC_ADVANCED_RANKING_EXPRESSION

Added in 1.1.0-alpha04
default static final String SEARCH_SPEC_ADVANCED_RANKING_EXPRESSION = "SEARCH_SPEC_ADVANCED_RANKING_EXPRESSION"

Feature for isFeatureSupported. This feature covers setRankingStrategy.

SEARCH_SPEC_GROUPING_TYPE_PER_SCHEMA

Added in 1.1.0-alpha04
default static final String SEARCH_SPEC_GROUPING_TYPE_PER_SCHEMA = "SEARCH_SPEC_GROUPING_TYPE_PER_SCHEMA"

Feature for isFeatureSupported. This feature covers GROUPING_TYPE_PER_SCHEMA

SEARCH_SPEC_PROPERTY_WEIGHTS

Added in 1.1.0-alpha04
default static final String SEARCH_SPEC_PROPERTY_WEIGHTS = "SEARCH_SPEC_PROPERTY_WEIGHTS"

Feature for isFeatureSupported. This feature covers setPropertyWeights.

SEARCH_SUGGESTION

Added in 1.1.0-alpha04
default static final String SEARCH_SUGGESTION = "SEARCH_SUGGESTION"

Feature for isFeatureSupported. This feature covers searchSuggestionAsync.

SET_SCHEMA_CIRCULAR_REFERENCES

Added in 1.1.0-alpha04
default static final String SET_SCHEMA_CIRCULAR_REFERENCES = "SET_SCHEMA_CIRCULAR_REFERENCES"

Feature for isFeatureSupported. This feature covers setting schemas with circular references for setSchemaAsync.

TOKENIZER_TYPE_RFC822

Added in 1.1.0-alpha04
default static final String TOKENIZER_TYPE_RFC822 = "TOKENIZER_TYPE_RFC822"

Feature for isFeatureSupported. This feature covers TOKENIZER_TYPE_RFC822.

VERBATIM_SEARCH

Added in 1.1.0-alpha04
default static final String VERBATIM_SEARCH = "VERBATIM_SEARCH"

Feature for isFeatureSupported. This feature covers TOKENIZER_TYPE_VERBATIM and all other verbatim search features within the query language that allows clients to search using the verbatim string operator.

For details on the verbatim string operator, see search.

Public methods

isFeatureSupported

Added in 1.1.0-alpha04
abstract boolean isFeatureSupported(@NonNull String feature)

Returns whether a feature is supported at run-time. Feature support depends on the feature in question, the AppSearch backend being used and the Android version of the device.

Note: If this method returns false, it is not safe to invoke the methods requiring the desired feature.

Parameters
@NonNull String feature

the feature to be checked

Returns
boolean

whether the capability is supported given the Android API level and AppSearch backend.