com.google.android.gms.drive.metadata.SearchableCollectionMetadataField<T> |
Interface for metadata fields which hold a collection of values. Implementation of this
interface (such as the static values in
SearchableField
) can be used to create "in" filters
for file queries.
For example, the following code will find all files in the folder with ID "folder" with the MIME type "text/plain":
DriveId parent = DriveId.createFromResourceId("folder");
Filter parentFilter = Filters.in(SearchableField.PARENTS, parent);
Filter mimeTypeFilter = Filters.eq(SearchableField.MIME_TYPE, "text/plain");
Query query = new Query.Builder().addFilters(parentFilter, mimeTypeFilter).build();
for (Metadata metadata : Drive.DriveApi.query(apiClient, query).await().getMetadataBuffer()) {
System.out.println(metadata.getTitle());
}
Note that you must pass a SearchableCollectionMetadataField
to the
Filters#in
method; a plain SearchableMetadataField
cannot be used as part of an "in" query.
However, every SearchableCollectionMetadataField
is also a
SearchableMetadataField
, so you can use a SearchableCollectionMetadataField
with
Filters#eq
(for example, if you want to
find a file with an exact set of parents).