# Interface IQueryListener

public interface IQueryListener

A listener for changes to the set of search queries. Queries are added by running them via `NewSearchUI#runQueryInBackground(ISearchQuery)` or `NewSearchUI#runQueryInForeground(IRunnableContext,ISearchQuery)`

The search UI determines when queries are rerun, stopped or deleted (and will notify interested parties via this interface). Listeners can be added and removed in the `NewSearchUI` class.

Clients may implement this interface.

Since:
  3.0

## Method Summary

Modifier and Type
Method
Description
`void`
`queryAdded(ISearchQuery query)`
Called when an query has been added to the system.
`void`
`queryFinished(ISearchQuery query)`
Called after an `ISearchQuery` has finished.
`void`
`queryRemoved(ISearchQuery query)`
Called when a query has been removed.
`void`
`queryStarting(ISearchQuery query)`
Called before an `ISearchQuery` is starting.

## Method Details

### queryAdded

void queryAdded(ISearchQuery query)
Called when an query has been added to the system.

Parameters:
  `query` - the query that has been added

### queryRemoved

void queryRemoved(ISearchQuery query)
Called when a query has been removed.

Parameters:
  `query` - the query that has been removed

### queryStarting

void queryStarting(ISearchQuery query)
Called before an `ISearchQuery` is starting.

Parameters:
  `query` - the query about to start

### queryFinished

void queryFinished(ISearchQuery query)
Called after an `ISearchQuery` has finished.

Parameters:
  `query` - the query that has finished