Package org.eclipse.ui
Interface ISourceProvider
- All Known Implementing Classes:
AbstractSourceProvider
public interface ISourceProvider
A provider of notifications for when a change has occurred to a particular type of source. These providers can be given to the appropriate service, and this service will then re-evaluate the appropriate pieces of its internal state in response to these changes.
It is recommended that clients subclass AbstractSourceProvider
instead, as this provides some common support for listeners.
- Since:
- 3.1
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a listener to this source provider.void
dispose()
Allows the source provider an opportunity to clean up resources (e.g., listeners) before being released.Returns the current state of the sources tracked by this provider.String[]
Returns the names of those sources provided by this class.void
Removes a listener from this source provider.
-
Method Details
-
addSourceProviderListener
Adds a listener to this source provider. This listener will be notified whenever the corresponding source changes.- Parameters:
listener
- The listener to add; must not benull
.
-
dispose
void dispose()Allows the source provider an opportunity to clean up resources (e.g., listeners) before being released. This method should be called by the creator after the source provider has been removed from all the services with which it was registered. -
getCurrentState
Map getCurrentState()Returns the current state of the sources tracked by this provider. This is used to provide a view of the world if the event loop is busy and things are some state has already changed.For use with core expressions, this map should contain IEvaluationContext#UNDEFINED_VARIABLE for properties which are only sometimes available.
- Returns:
- A map of variable names (
String
) to variable values (Object
). This may be empty, and may benull
.
-
getProvidedSourceNames
String[] getProvidedSourceNames()Returns the names of those sources provided by this class. This is used by clients of source providers to determine which source providers they actually need.- Returns:
- An array of source names. This value should never be
null
or empty.
-
removeSourceProviderListener
Removes a listener from this source provider. This listener will be notified whenever the corresponding source changes.- Parameters:
listener
- The listener to remove; must not benull
.
-