# Interface IQuickFixableAnnotation

All Known Implementing Classes:
  `MarkerAnnotation, SpellingAnnotation`

public interface IQuickFixableAnnotation
Allows an annotation to tell whether there are quick fixes for it and to cache that state.

Caching the state is important to improve overall performance as calling `IQuickAssistAssistant.canFix(Annotation)` can be expensive.

This interface can be implemented by clients.

Since:
  3.2

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isQuickFixable()`
Tells whether there are quick fixes for this annotation.
`boolean`
`isQuickFixableStateSet()`
Tells whether the quick fixable state has been set.
`void`
`setQuickFixable(boolean state)`
Sets whether there are quick fixes available for this annotation.

## Method Details

### setQuickFixable

void setQuickFixable(boolean state)
Sets whether there are quick fixes available for this annotation.

Parameters:
  `state` - `true` if there are quick fixes available, false otherwise

### isQuickFixableStateSet

boolean isQuickFixableStateSet()
Tells whether the quick fixable state has been set.

Normally this means `setQuickFixable(boolean)` has been called at least once but it can also be hard-coded, e.g. always return `true`.

Returns:
  `true` if the state has been set

### isQuickFixable

boolean isQuickFixable() throws AssertionFailedException
Tells whether there are quick fixes for this annotation.

Note: This method must only be called if `isQuickFixableStateSet()` returns `true`.

Returns:
  `true` if this annotation offers quick fixes
Throws:
  `AssertionFailedException` - if called when `isQuickFixableStateSet()` is `false`