org.eclipse.jdt.ui.text.java

## Interface IQuickFixProcessor

    public interface IQuickFixProcessor

Interface to be implemented by contributors to the extension point `org.eclipse.jdt.ui.quickFixProcessors`.

Since 3.2, each extension specifies the marker types it can handle, and `hasCorrections(ICompilationUnit, int)` and `getCorrections(IInvocationContext, IProblemLocation[])` are called if (and only if) quick fix is required for a problem of these types.

Note, if a extension does not specify marker types it will be only called for problem of type `org.eclipse.jdt.core.problem`, `org.eclipse.jdt.core.buildpath_problem` and `org.eclipse.jdt.core.task`; compatible with the behavior prior to 3.2

Since:
  3.0

### Method Summary

All Methods Instance Methods Abstract Methods
`IJavaCompletionProposal[]` `getCorrections(IInvocationContext context, IProblemLocation[] locations)` Collects corrections or code manipulations for the given context.
`boolean` `hasCorrections(ICompilationUnit unit, int problemId)` Returns `true` if the processor has proposals for the given problem.

### Method Detail

#### hasCorrections

    boolean hasCorrections(ICompilationUnit unit,
                           int problemId)

Returns `true` if the processor has proposals for the given problem. This test should be an optimistic guess and be very cheap.

Parameters:
  `unit` - the compilation unit
  `problemId` - the problem Id. The id is of a problem of the problem type(s) this processor specified in the extension point.
Returns:
  `true` if the processor has proposals for the given problem

#### getCorrections

    IJavaCompletionProposal[] getCorrections(IInvocationContext context,
                                             IProblemLocation[] locations)
                                      throws CoreException

Collects corrections or code manipulations for the given context.

Parameters:
  `context` - Defines current compilation unit, position and a shared AST
  `locations` - Problems are the current location.
Returns:
  the corrections applicable at the location or `null` if no proposals can be offered
Throws:
  `CoreException` - CoreException can be thrown if the operation fails