public SearchResult search(String query, EnumSet<SearchInclusion> includes, SearchLocation location,
                               Date modifiedSince, EnumSet<SearchScope> scopes) throws SmartsheetException {
        Util.throwIfNull(query);
        Util.throwIfEmpty(query);
        String path = "search";

        // Add the parameters to a map and build the query string at the end
        HashMap<String, Object> parameters = new HashMap<String, Object>();

        parameters.put("include", QueryUtil.generateCommaSeparatedList(includes));
        parameters.put("location", location);
        if (modifiedSince != null) {
            String isoDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").format(modifiedSince);
            parameters.put("modifiedSince", isoDate);
        }
        parameters.put("scopes", QueryUtil.generateCommaSeparatedList(scopes));
        try {
            parameters.put("query", URLEncoder.encode(query, "utf-8"));
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        }

        // Iterate through the map of parameters and generate the query string
        path += QueryUtil.generateUrl(null, parameters);
        return this.getResource(path, SearchResult.class);
    }
public SearchResult search ( String query , EnumSet < SearchInclusion > includes , SearchLocation location , Date modifiedSince , EnumSet < SearchScope > scopes ) throws SmartsheetException { Util . throwIfNull ( query ) ; Util . throwIfEmpty ( query ) ; String path = "search" ; HashMap < String , Object > parameters = new HashMap < String , Object > ( ) ; parameters . put ( "include" , QueryUtil . generateCommaSeparatedList ( includes ) ) ; parameters . put ( "location" , location ) ; if ( modifiedSince != null ) { String isoDate = new SimpleDateFormat ( "yyyy-MM-dd'T'HH:mm:ssZ" ) . format ( modifiedSince ) ; parameters . put ( "modifiedSince" , isoDate ) ; } parameters . put ( "scopes" , QueryUtil . generateCommaSeparatedList ( scopes ) ) ; try { parameters . put ( "query" , URLEncoder . encode ( query , "utf-8" ) ) ; } catch ( UnsupportedEncodingException e ) { throw new RuntimeException ( e ) ; } path += QueryUtil . generateUrl ( null , parameters ) ; return this . getResource ( path , SearchResult . class ) ; }
Performs a search across all Sheets to which user has access.

It mirrors to the following Smartsheet REST API method: GET /search

@param query the query text
@param includes enum set of inclusions
@param location when specified with a value of "personalWorkspace" limits response to only those
items in the user's Workspace
@param modifiedSince only return items modified since this date
@param scopes enum set of search filters
@return the search result (note that if there is no such resource, this method will throw
ResourceNotFoundException rather than returning null).
@throws IllegalArgumentException if any argument is null or empty string
@throws InvalidRequestException if there is any problem with the REST API request
@throws AuthorizationException if there is any problem with  the REST API authorization (access token)
@throws ResourceNotFoundException if the resource cannot be found
@throws ServiceUnavailableException if the REST API service is not available (possibly due to rate limiting)
@throws SmartsheetException if there is any other error during the operation