# Interface ISourceViewerExtension5

All Known Implementing Classes:
  `ProjectionViewer, SourceViewer, TextConsoleViewer`

public interface ISourceViewerExtension5
Extension interface for `ISourceViewer`.

It introduces API to access a minimal set of code mining APIs.

Since:
  3.13
See Also:
  - `ICodeMining`
  - `ICodeMiningProvider`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasCodeMiningProviders()`
Returns `true` if there are code mining providers and `false` otherwise.
`void`
`setCodeMiningAnnotationPainter(AnnotationPainter painter)`
Set the `AnnotationPainter` to use to draw code minings.
`void`
`setCodeMiningProviders(ICodeMiningProvider[] codeMiningProviders)`
Register the code mining providers.
`void`
`updateCodeMinings()`
Update the code minings.

## Method Details

### setCodeMiningAnnotationPainter

void setCodeMiningAnnotationPainter(AnnotationPainter painter)
Set the `AnnotationPainter` to use to draw code minings.

Parameters:
  `painter` - the `AnnotationPainter` to use to draw code minings.

### setCodeMiningProviders

void setCodeMiningProviders(ICodeMiningProvider[] codeMiningProviders)
Register the code mining providers.

Parameters:
  `codeMiningProviders` - the code mining providers to register.

### hasCodeMiningProviders

boolean hasCodeMiningProviders()
Returns `true` if there are code mining providers and `false` otherwise.

Returns:
  `true` if there are code mining providers and `false` otherwise.

### updateCodeMinings

void updateCodeMinings()
Update the code minings. Clients and implementors are responsible of calling this method when needed. A typical use-case can be to run it upon completion of a reconcilier and after a job that would compute all the necessary pre-requisites to insert code mining annotations.