For searching in a folder and all of its subfolders, the following method is introduced in the interface com.openexchange.file.storage.FileStorageFileAcces s:

/**
* Searches for a given file.
*
* @param pattern The search pattern possibly containing wild-cards
* @param fields Which fields to load
* @param folderId In which folder to search. Pass ALL_FOLDERS to search in all folders.
* @param includeSubfolders <code>true</code> to include subfolders, <code>false</code>, otherwise
* @param sort Which field to sort by. May be <code>null</code>.
* @param order The order in which to sort
* @param start A start index (inclusive) for the search results. Useful for paging.
* @param end An end index (exclusive) for the search results. Useful for paging.
* @return The search results
* @throws OXException If operation fails
*/
SearchIterator<File> search(String pattern, List<File.Field> fields, String folderId, boolean includeSubfolders, File.Field sort, SortDirection order, int start, int end) throws OXException;

Additionally, the following method is added to com.openexchange.file.storage.FileStorageAdvancedS earchFileAccess:

/**
* Searches for a given file.
*
* @param folderId The identifier of the folder to search in
* @param includeSubfolders <code>true</code> to include subfolders, <code>false</code>, otherwise
* @param searchTerm The search term
* @param fields The fields to load
* @param sort Which field to sort by. May be <code>null</code>.
* @param order The order in which to sort
* @param start A start index (inclusive) for the search results. Useful for paging.
* @param end An end index (exclusive) for the search results. Useful for paging.
* @return The search results
* @throws OXException If operation fails
*/
SearchIterator<File> search(String folderId, boolean includeSubfolders, SearchTerm<?> searchTerm, List<Field> fields, File.Field sort, SortDirection order, int start, int end) throws OXException;