org.eclipse.ui.ISourceProvider Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of workbench Show documentation
Show all versions of workbench Show documentation
This plug-in contains the bulk of the Workbench implementation, and depends on JFace, SWT, and Core Runtime. It cannot be used independently from org.eclipse.ui. Workbench client plug-ins should not depend directly on this plug-in.
The newest version!
/*******************************************************************************
* Copyright (c) 2005, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui;
import java.util.Map;
/**
*
* 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 org.eclipse.ui.handlers.IHandlerService
* @see org.eclipse.ui.ISources
*/
public interface ISourceProvider {
/**
* Adds a listener to this source provider. This listener will be notified
* whenever the corresponding source changes.
*
* @param listener
* The listener to add; must not be null
.
*/
public void addSourceProviderListener(ISourceProviderListener listener);
/**
* 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.
*/
public void dispose();
/**
* 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.
*
* @return A map of variable names (String
) to variable
* values (Object
). This may be empty, and may be
* null
.
*/
public Map getCurrentState();
/**
* 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.
*
* @return An array of source names. This value should never be
* null
or empty.
*/
public String[] getProvidedSourceNames();
/**
* Removes a listener from this source provider. This listener will be
* notified whenever the corresponding source changes.
*
* @param listener
* The listener to remove; must not be null
.
*/
public void removeSourceProviderListener(ISourceProviderListener listener);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy