## org.das2.jythoncompletion.support.CompletionTask

The inteface of a task performing a code completion query.
The support class {@link org.netbeans.spi.editor.completion.support.AsyncCompletionTask} can be used for convenience when the task requires an asynchronous evaluation.

## cancel

cancel( ) → void

Called by the code completion infrastructure to cancel the task.
Once the cancel is done on the task no more querying or refreshing is done on it.

This method may potentially be called from any thread.

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## query

query( org.das2.jythoncompletion.support.CompletionResultSet resultSet ) → void

Called by the code completion infrastructure to ask the task to do a query and return the results through the given completion listener.
This method is called only once during the lifetime of the completion task object.

This method is always called in AWT thread but it may reschedule its processing into another thread and fire the given listener once the computing is finished.

### Parameters

resultSet - non-null result set to which the results of the query must be added.

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## refresh

refresh( org.das2.jythoncompletion.support.CompletionResultSet resultSet ) → void

Called by the code completion infrastructure to inform the task about changes in the corresponding document. The task should reflect these changes while creating the query result.
This method can be called multiple times on a single task instance.
Typically it is called AFTER the `query()` was invoked but it may also be invoked BEFORE the `query()` in case the user types even before the `query()` was called by the infrastructure. In such case the `resultSet` parameter will be `null`.
It is guaranteed that this method will not be invoked in case the document instance set in the component would change since the last invocation of either the `query()` or `refresh()`.

This method is always called in AWT thread but it may reschedule its processing into another thread and fire the given listener once the computing is finished.

### Parameters

resultSet - non-null result set to which the results of the refreshing must be added.
Null result set may be passed in case the `query()` was not invoked yet and user has typed a character. In this case the provider may hide the completion by using `Completion.get().hideAll()` if the typed character is inappropriate e.g. ";" for java completion.

### Returns:

void (returns nothing)
[search for examples] [view on GitHub] [view on old javadoc] [view source]