Package org.eclipse.jface.text.formatter

# Interface IFormattingStrategyExtension

All Known Implementing Classes:
  `ContextBasedFormattingStrategy`

public interface IFormattingStrategyExtension
Extension interface for `IFormattingStrategy`.

Updates formatting strategies to be able to receive a more general `IFormattingContext` object from its associated content formatters.

Each formatting process calls the strategy's methods in the following sequence:

- `formatterStarts`
- `format`
- `formatterStops`

Note that multiple calls to `formatterStarts` can be issued to a strategy before launching the formatting process with `format`.

This interface must be implemented by clients. Implementers should be registered with a content formatter in order get involved in the formatting process.

Since:
  3.0
See Also:
  - `IFormattingContext`

## Method Summary

Modifier and Type
Method
Description
`void`
`format()`
Formats the region with the properties indicated in the formatting context previously supplied by `formatterStarts(IFormattingContext)`.
`void`
`formatterStarts(IFormattingContext context)`
Informs the strategy about the start of a formatting process in which it will participate.
`void`
`formatterStops()`
Informs the strategy that the formatting process in which it has participated has been finished.

## Method Details

### format

void format()
Formats the region with the properties indicated in the formatting context previously supplied by `formatterStarts(IFormattingContext)`.

### formatterStarts

void formatterStarts(IFormattingContext context)
Informs the strategy about the start of a formatting process in which it will participate.

Parameters:
  `context` - the formatting context used in the corresponding formatting process.

### formatterStops

void formatterStops()
Informs the strategy that the formatting process in which it has participated has been finished.