Interface ILanguageSettingsBroadcastingProvider
- All Superinterfaces:
ILanguageSettingsProvider
- All Known Subinterfaces:
ILanguageSettingsEditableProvider
- All Known Implementing Classes:
LanguageSettingsGenericProvider
,LanguageSettingsSerializableProvider
This interface is to be implemented by providers which want to broadcast the changes in their setting entries
with
ILanguageSettingsChangeEvent
.- Since:
- 5.4
-
Method Summary
Modifier and TypeMethodDescriptionReturn a copy of internal storage.getId()
Id is used to keep track of the providers internally.getName()
Name is used to present the provider to the end user in UI.getSettingEntries
(ICConfigurationDescription cfgDescription, org.eclipse.core.resources.IResource rc, String languageId) Returns the list of setting entries for the given configuration description, resource and language.
-
Method Details
-
getId
String getId()Description copied from interface:ILanguageSettingsProvider
Id is used to keep track of the providers internally. Use unique id to represent the provider.- Specified by:
getId
in interfaceILanguageSettingsProvider
- Returns:
- Id of the provider.
-
getName
String getName()Description copied from interface:ILanguageSettingsProvider
Name is used to present the provider to the end user in UI.- Specified by:
getName
in interfaceILanguageSettingsProvider
- Returns:
- name of the provider.
-
getSettingEntries
List<ICLanguageSettingEntry> getSettingEntries(ICConfigurationDescription cfgDescription, org.eclipse.core.resources.IResource rc, String languageId) Description copied from interface:ILanguageSettingsProvider
Returns the list of setting entries for the given configuration description, resource and language.
Note to implementers - this method should not be used to do any long running operations such as extensive calculations or reading files. If you need to do so, the recommended way is to do the calculations outside of this function call - in advance and on appropriate event. For example, Build Output Parser prepares the list and stores it in internal cache while parsing output.ILanguageSettingsProvider.getSettingEntries(ICConfigurationDescription, IResource, String)
will return cached entries when asked. You can also implementICListenerAgent
interface to get registered and listen to arbitrary events.- Specified by:
getSettingEntries
in interfaceILanguageSettingsProvider
- Parameters:
cfgDescription
- - configuration description.rc
- - resource such as file or folder. Ifnull
, the default entries for all resources are returned.languageId
- - language id. Ifnull
, the default entries for all languages are returned. (seeLanguageManager.getLanguageForFile(org.eclipse.core.resources.IFile, ICConfigurationDescription)
).- Returns:
- the list of setting entries or
null
if no settings defined. The list needs to be a pooled list created byLanguageSettingsStorage.getPooledList(List)
to save memory and avoid deep equality comparisons.
-
copyStorage
LanguageSettingsStorage copyStorage()Return a copy of internal storage. This should be a deep copy/clone of the storage. It is used to calculate the delta and being kept in the last state object of configuration description to compare to a new state later.- Returns:
- a copy of internal storage.
-