Class AbstractSourceProvider

  • All Implemented Interfaces:
    ISourceProvider

    public abstract class AbstractSourceProvider
    extends Object
    implements ISourceProvider

    An implementation of ISourceProvider that provides listener support. Subclasses need only call fireSourceChanged whenever appropriate.

    Since:
    3.1
    • Field Detail

      • DEBUG

        protected static boolean DEBUG
        Whether source providers should print out debugging information to the console when events arrive.
        Since:
        3.2
    • Constructor Detail

      • AbstractSourceProvider

        public AbstractSourceProvider()
    • Method Detail

      • addSourceProviderListener

        public final void addSourceProviderListener​(ISourceProviderListener listener)
        Description copied from interface: ISourceProvider
        Adds a listener to this source provider. This listener will be notified whenever the corresponding source changes.
        Specified by:
        addSourceProviderListener in interface ISourceProvider
        Parameters:
        listener - The listener to add; must not be null.
      • fireSourceChanged

        protected final void fireSourceChanged​(int sourcePriority,
                                               String sourceName,
                                               Object sourceValue)
        Notifies all listeners that a single source has changed.
        Parameters:
        sourcePriority - The source priority that has changed.
        sourceName - The name of the source that has changed; must not be null.
        sourceValue - The new value for the source; may be null.
      • fireSourceChanged

        protected final void fireSourceChanged​(int sourcePriority,
                                               Map sourceValuesByName)
        Notifies all listeners that multiple sources have changed.
        Parameters:
        sourcePriority - The source priority that has changed.
        sourceValuesByName - The map of source names (String) to source values (Object) that have changed; must not be null. The names must not be null, but the values may be null.
      • logDebuggingInfo

        protected final void logDebuggingInfo​(String message)
        Logs a debugging message in an appropriate manner. If the message is null or the DEBUG is false, then this method does nothing.
        Parameters:
        message - The debugging message to log; if null, then nothing is logged.
        Since:
        3.2
      • removeSourceProviderListener

        public final void removeSourceProviderListener​(ISourceProviderListener listener)
        Description copied from interface: ISourceProvider
        Removes a listener from this source provider. This listener will be notified whenever the corresponding source changes.
        Specified by:
        removeSourceProviderListener in interface ISourceProvider
        Parameters:
        listener - The listener to remove; must not be null.
      • initialize

        public void initialize​(IServiceLocator locator)
        This method is called when the source provider is instantiated by org.eclipse.ui.services. Clients may override this method to perform initialization.
        Parameters:
        locator - The global service locator. It can be used to retrieve services like the IContextService
        Since:
        3.4