Package org.eclipse.cdt.core.language.settings.providers

# Interface ILanguageSettingsProvidersKeeper

public interface ILanguageSettingsProvidersKeeper
Interface to express ability (of a configuration description) to handle Language Settings Providers.

Since:
  5.4
See Also:
  - `ILanguageSettingsProvider`

## Method Summary

Modifier and Type
Method
Description
`String[]`
`getDefaultLanguageSettingsProvidersIds()`
Retrieve the list of IDs of default language settings providers.
`List<ILanguageSettingsProvider>`
`getLanguageSettingProviders()`
Returns the list of language settings providers.
`void`
`setDefaultLanguageSettingsProvidersIds(String[] ids)`
Sets the list of IDs of default language settings providers.
`void`
`setLanguageSettingProviders(List<? extends ILanguageSettingsProvider> providers)`
Sets the list of language settings providers.

## Method Details

### setLanguageSettingProviders

void setLanguageSettingProviders(List<? extends ILanguageSettingsProvider> providers)
Sets the list of language settings providers. Language settings providers are used to supply language settings `ICLanguageSettingEntry` such as include paths or preprocessor macros.

Parameters:
  `providers` - - the list of providers to assign to the owner (configuration description). This method clones the internal list or otherwise ensures immutability of the internal list before actual addition to the project model. That is to ensure that there is no back-door access and all changes in the list done by this method which fires notifications to the registered listeners about the accompanied changes in settings entries, see `LanguageSettingsManager.registerLanguageSettingsChangeListener(ILanguageSettingsChangeListener)`.

### getLanguageSettingProviders

List<ILanguageSettingsProvider> getLanguageSettingProviders()
Returns the list of language settings providers. Language settings providers are used to supply language settings `ICLanguageSettingEntry` such as include paths or preprocessor macros.

Returns:
  the list of providers to assign to the owner (configuration description). This returns immutable list. Use `setLanguageSettingProviders(List)` to change. This method does not return `null`.

### setDefaultLanguageSettingsProvidersIds

void setDefaultLanguageSettingsProvidersIds(String[] ids)
Sets the list of IDs of default language settings providers.
The method is intended to be used by MBS to set the list from tool-chain definition. The default list from the tool-chain is used, for example, while resetting configuration providers to default in UI.

Parameters:
  `ids` - - default provider IDs specified in the tool-chain.

### getDefaultLanguageSettingsProvidersIds

String[] getDefaultLanguageSettingsProvidersIds()
Retrieve the list of IDs of default language settings providers. Normally the list would come from the tool-chain definition.

Returns:
  default provider IDs or `null` if default providers are not defined.