Class Scheme

All Implemented Interfaces:
Comparable, IIdentifiable

public final class Scheme extends NamedHandleObject implements Comparable

An instance of IScheme is a handle representing a binding scheme as defined by the extension point org.eclipse.ui.bindings. The identifier of the handle is the identifier of the scheme being represented.

An instance of IScheme can be obtained from an instance of ICommandManager for any identifier, whether or not a scheme with that identifier is defined in the plugin registry.

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

This class is not intended to be extended by clients.

Since:
3.1
See Also:
  • Method Details

    • addSchemeListener

      public final void addSchemeListener(ISchemeListener schemeListener)
      Registers an instance of ISchemeListener to listen for changes to attributes of this instance.
      Parameters:
      schemeListener - the instance of ISchemeListener to register. Must not be null. If an attempt is made to register an instance of ISchemeListener which is already registered with this instance, no operation is performed.
    • compareTo

      public final int compareTo(Object object)
      Specified by:
      compareTo in interface Comparable
    • define

      public final void define(String name, String description, String parentId)

      Defines this scheme by giving it a name, and possibly a description and a parent identifier as well. The defined property for the scheme automatically becomes true.

      Notification is sent to all listeners that something has changed.

      Parameters:
      name - The name of this scheme; must not be null.
      description - The description for this scheme; may be null.
      parentId - The parent identifier for this scheme; may be null.
    • getParentId

      public final String getParentId() throws NotDefinedException

      Returns the identifier of the parent of the scheme represented by this handle.

      Notification is sent to all registered listeners if this attribute changes.

      Returns:
      the identifier of the parent of the scheme represented by this handle. May be null.
      Throws:
      NotDefinedException - if the scheme represented by this handle is not defined.
    • removeSchemeListener

      public final void removeSchemeListener(ISchemeListener schemeListener)
      Unregisters an instance of ISchemeListener listening for changes to attributes of this instance.
      Parameters:
      schemeListener - the instance of ISchemeListener to unregister. Must not be null. If an attempt is made to unregister an instance of ISchemeListener which is not already registered with this instance, no operation is performed.
    • toString

      public final String toString()
      The string representation of this command -- for debugging purposes only. This string should not be shown to an end user.
      Specified by:
      toString in class HandleObject
      Returns:
      The string representation; never null.
    • undefine

      public final void undefine()
      Makes this scheme become undefined. This has the side effect of changing the name, description and parent identifier to null. Notification is sent to all listeners.
      Specified by:
      undefine in class HandleObject