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.
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.
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.
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.
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.