Eclipse Platform
Release 3.1

org.eclipse.search.ui
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 it's 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
 boolean canRerun()
          Returns whether the query can be run more than once.
 boolean canRunInBackground()
          Returns whether this query can be run in the background.
 String getLabel()
          Returns a user readable label for this query.
 ISearchResult getSearchResult()
          Returns the search result associated with this query.
 IStatus run(IProgressMonitor monitor)
          This is the method that actually does the work, i.e. finds the results of the search query.
 

Method Detail

run

public IStatus run(IProgressMonitor monitor)
            throws OperationCanceledException
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

public 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

public 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

public 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

public 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

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.