Interface ISearchQuery


public interface ISearchQuery
Represents a particular search query (in a Java example, a query might be "find all occurrences of 'foo' in workspace"). When its run method is called, the query places any results it finds in the ISearchResult that can be accessed via getSearchResult(). Note that getSearchResult may be called at any time, even before the run() method has been called. An empty search result should be returned in that case.

Clients may implement this interface.

Since:
3.0
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns whether the query can be run more than once.
    boolean
    Returns whether this query can be run in the background.
    Returns a user readable label for this query.
    Returns the search result associated with this query.
    This is the method that actually does the work, i.e. finds the results of the search query.
  • Method Details

    • run

      This is the method that actually does the work, i.e. finds the results of the search query.
      Parameters:
      monitor - the progress monitor to be used
      Returns:
      the status after completion of the search job.
      Throws:
      OperationCanceledException - Thrown when the search query has been canceled.
    • getLabel

      String getLabel()
      Returns a user readable label for this query. This will be used, for example to set the Job name if this query is executed in the background. Note that progress notification (for example, the number of matches found) should be done via the progress monitor passed into the run(IProgressMonitor) method
      Returns:
      the user readable label of this query
    • canRerun

      boolean canRerun()
      Returns whether the query can be run more than once. Some queries may depend on transient information and return false.
      Returns:
      whether this query can be run more than once
    • canRunInBackground

      boolean canRunInBackground()
      Returns whether this query can be run in the background. Note that queries must do proper locking when they are run in the background (e.g. get the appropriate workspace locks).
      Returns:
      whether this query can be run in the background
    • getSearchResult

      ISearchResult getSearchResult()
      Returns the search result associated with this query. This method can be called before run is called.
      Returns:
      this query's search result