All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.ui.contexts.IContext Maven / Gradle / Ivy

Go to download

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) 2000, 2005 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.contexts;

/**
 * An instance of this interface is an context as defined by the extension point
 * org.eclipse.ui.contexts.
 * 

* An instance of this interface can be obtained from an instance of * IContextManager for any identifier, whether or not an context * with that identifier is defined in the extension registry. *

*

* The handle-based nature of this API allows it to work well with runtime * plugin activation and deactivation. If a context is defined, that means that * its corresponding plug-in is active. If the plug-in is then deactivated, the * context will still exist but it will be undefined. An attempts to use an * undefined context will result in a NotDefinedException being * thrown. *

*

* This interface is not intended to be extended or implemented by clients. *

* * @since 3.0 * @see org.eclipse.ui.contexts.IContextManager * @see org.eclipse.core.commands.contexts.Context * @deprecated Please use the "org.eclipse.core.commands" plug-in instead. */ public interface IContext extends Comparable { /** * Registers an instance of IContextListener to listen for * changes to properties of this instance. * * @param contextListener * the instance to register. Must not be null. If * an attempt is made to register an instance which is already * registered with this instance, no operation is performed. */ void addContextListener(IContextListener contextListener); /** * Returns the identifier of this instance. * * @return the identifier of this instance. Guaranteed not to be * null. */ String getId(); /** * Returns the name of this instance suitable for display to the user. *

* Notification is sent to all registered listeners if this property * changes. *

* * @return the name of this instance. Guaranteed not to be null. * @throws NotDefinedException * if this instance is not defined. */ String getName() throws NotDefinedException; /** * Returns the identifier of the parent of this instance. *

* Notification is sent to all registered listeners if this property * changes. *

* * @return the identifier of the parent of this instance. May be * null. * @throws NotDefinedException * if this instance is not defined. */ String getParentId() throws NotDefinedException; /** * Returns whether or not this instance is defined. *

* Notification is sent to all registered listeners if this property * changes. *

* * @return true, iff this instance is defined. */ boolean isDefined(); /** * Returns whether or not this instance is enabled. *

* Notification is sent to all registered listeners if this property * changes. *

* * @return true, iff this instance is enabled. */ boolean isEnabled(); /** * Unregisters an instance of IContextListener listening for * changes to properties of this instance. * * @param contextListener * the instance to unregister. Must not be null. * If an attempt is made to unregister an instance which is not * already registered with this instance, no operation is * performed. */ void removeContextListener(IContextListener contextListener); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy