Eclipse Platform Release 3.7

## org.eclipse.ui.commands
Interface ICommandService

All Superinterfaces:
  IDisposable

    public interface ICommandService

extends IDisposable

Provides services related to the command architecture within the workbench. This service can be used to access the set of commands and command categories.

This service can be acquired from your service locator:

            ICommandService service = (ICommandService) getSite().getService(ICommandService.class);

- This service is available globally.

Since:
  3.1
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

Field Summary
`static String` `AUTOGENERATED_CATEGORY_ID` The identifier of the category in which all auto-generated commands will appear.

Method Summary
`void` `addExecutionListener(IExecutionListener listener)` Adds an execution listener to the command service.
`void` `defineUncategorizedCategory(String name, String description)` Sets the name and description of the category for uncategorized commands.
`ParameterizedCommand` `deserialize(String serializedParameterizedCommand)` Returns a `ParameterizedCommand` with a command and parameterizations as specified in the provided `serializedParameterizedCommand` string.
`Category` `getCategory(String categoryId)` Retrieves the category with the given identifier.
`Command` `getCommand(String commandId)` Retrieves the command with the given identifier.
`Category[]` `getDefinedCategories()` Returns the collection of all of the defined categories in the workbench.
`Collection` `getDefinedCategoryIds()` Returns the collection of the identifiers for all of the defined categories in the workbench.
`Collection` `getDefinedCommandIds()` Returns the collection of the identifiers for all of the defined commands in the workbench.
`Command[]` `getDefinedCommands()` Returns the collection of all of the defined commands in the workbench.
`Collection` `getDefinedParameterTypeIds()` Returns the collection of the identifiers for all of the defined command parameter types in the workbench.
`ParameterType[]` `getDefinedParameterTypes()` Returns the collection of all of the defined command parameter types in the workbench.
`String` `getHelpContextId(Command command)` Gets the help context identifier for a particular command.
`String` `getHelpContextId(String commandId)` Gets the help context identifier for a particular command.
`ParameterType` `getParameterType(String parameterTypeId)` Retrieves the command parameter type with the given identifier.
`void` `readRegistry()` Reads the command information from the registry and the preferences.
`void` `refreshElements(String commandId, Map filter)` Refresh any elements registered against the command with the given id.
`void` `registerElement(IElementReference elementReference)` Re-register a callback element provided by the ICommandService.
`IElementReference` `registerElementForCommand(ParameterizedCommand command, UIElement element)` Register that this element accepts callbacks for this parameterized command.
`void` `removeExecutionListener(IExecutionListener listener)` Removes an execution listener from the command service.
`void` `setHelpContextId(IHandler handler, String helpContextId)` Sets the help context identifier to associate with a particular handler.
`void` `unregisterElement(IElementReference elementReference)` Unregister an element callback.

Methods inherited from interface org.eclipse.ui.services.IDisposable
`dispose`

Field Detail

### AUTOGENERATED_CATEGORY_ID

    static final String AUTOGENERATED_CATEGORY_ID

  The identifier of the category in which all auto-generated commands will appear. This value must never be `null`.

  Since:
    3.2
  See Also:
    Constant Field Values

Method Detail

### addExecutionListener

    void addExecutionListener(IExecutionListener listener)

  Adds an execution listener to the command service. This listener will be notified as commands are executed.

  Note: listeners should be removed when no longer necessary. If not, they will be removed when the IServiceLocator used to acquire this service is disposed.

  Parameters:
    `listener` - The listener to add; must not be `null`.
  See Also:
    `removeExecutionListener(IExecutionListener)`

### defineUncategorizedCategory

    void defineUncategorizedCategory(String name,
                                     String description)

  Sets the name and description of the category for uncategorized commands. This is the category that will be returned if `getCategory(String)` is called with `null`.

  Parameters:
    `name` - The name of the category for uncategorized commands; must not be `null`.
    `description` - The description of the category for uncategorized commands; may be `null`.
  Since:
    3.2

### deserialize

    ParameterizedCommand deserialize(String serializedParameterizedCommand)
                                     throws NotDefinedException,
                                            SerializationException

  Returns a `ParameterizedCommand` with a command and parameterizations as specified in the provided `serializedParameterizedCommand` string. The `serializedParameterizedCommand` must use the format returned by `ParameterizedCommand.serialize()` and described in the Javadoc for that method.

  If a parameter id encoded in the `serializedParameterizedCommand` does not exist in the encoded command, that parameter id and value are ignored. A given parameter id should not be used more than once in `serializedParameterizedCommand`. This will not result in an exception, but the value of the parameter when the command is executed cannot be specified here.

  This method will never return `null`, however it may throw an exception if there is a problem processing the serialization string or the encoded command is undefined.

  Parameters:
    `serializedParameterizedCommand` - a `String` representing a command id and parameter ids and values
  Returns:
    a `ParameterizedCommand` with the command and parameterizations encoded in the `serializedParameterizedCommand`
  Throws:
    `NotDefinedException` - if the command indicated in `serializedParameterizedCommand` is not defined
    `SerializationException` - if there is an error deserializing `serializedParameterizedCommand`
    `NotDefinedException`
  Since:
    3.2
  See Also:
    `ParameterizedCommand.serialize()`, `CommandManager.deserialize(String)`

### getCategory

    Category getCategory(String categoryId)

  Retrieves the category with the given identifier. If no such category exists, then an undefined category with the given id is created.

  Parameters:
    `categoryId` - The identifier to find. If the category is `null`, then a category suitable for uncategorized items is defined and returned.
  Returns:
    A category with the given identifier, either defined or undefined.

### getCommand

    Command getCommand(String commandId)

  Retrieves the command with the given identifier. If no such command exists, then an undefined command with the given id is created.

  Parameters:
    `commandId` - The identifier to find; must not be `null`.
  Returns:
    A command with the given identifier, either defined or undefined.

### getDefinedCategories

    Category[] getDefinedCategories()

  Returns the collection of all of the defined categories in the workbench.

  Returns:
    The collection of categories (`Category`) that are defined; never `null`, but may be empty.
  Since:
    3.2

### getDefinedCategoryIds

    Collection getDefinedCategoryIds()

  Returns the collection of the identifiers for all of the defined categories in the workbench.

  Returns:
    The collection of category identifiers (`String`) that are defined; never `null`, but may be empty.

### getDefinedCommandIds

    Collection getDefinedCommandIds()

  Returns the collection of the identifiers for all of the defined commands in the workbench.

  Returns:
    The collection of command identifiers (`String`) that are defined; never `null`, but may be empty.

### getDefinedCommands

    Command[] getDefinedCommands()

  Returns the collection of all of the defined commands in the workbench.

  Returns:
    The collection of commands (`Command`) that are defined; never `null`, but may be empty.
  Since:
    3.2

### getDefinedParameterTypeIds

    Collection getDefinedParameterTypeIds()

  Returns the collection of the identifiers for all of the defined command parameter types in the workbench.

  Returns:
    The collection of command parameter type identifiers (`String`) that are defined; never `null`, but may be empty.
  Since:
    3.2

### getDefinedParameterTypes

    ParameterType[] getDefinedParameterTypes()

  Returns the collection of all of the defined command parameter types in the workbench.

  Returns:
    The collection of command parameter types (`ParameterType`) that are defined; never `null`, but may be empty.
  Since:
    3.2

### getHelpContextId

    String getHelpContextId(Command command)
                            throws NotDefinedException

  Gets the help context identifier for a particular command. The command's handler is first checked for a help context identifier. If the handler does not have a help context identifier, then the help context identifier for the command is returned. If neither has a help context identifier, then `null` is returned.

  Parameters:
    `command` - The command for which the help context should be retrieved; must not be `null`.
  Returns:
    The help context identifier to use for the given command; may be `null`.
  Throws:
    `NotDefinedException` - If the given command is not defined.
    `NotDefinedException`
  Since:
    3.2

### getHelpContextId

    String getHelpContextId(String commandId)
                            throws NotDefinedException

  Gets the help context identifier for a particular command. The command's handler is first checked for a help context identifier. If the handler does not have a help context identifier, then the help context identifier for the command is returned. If neither has a help context identifier, then `null` is returned.

  Parameters:
    `commandId` - The identifier of the command for which the help context should be retrieved; must not be `null`.
  Returns:
    The help context identifier to use for the given command; may be `null`.
  Throws:
    `NotDefinedException` - If the command with the given identifier is not defined.
    `NotDefinedException`
  Since:
    3.2

### getParameterType

    ParameterType getParameterType(String parameterTypeId)

  Retrieves the command parameter type with the given identifier. If no such parameter type exists, then an undefined parameter type with the given id is created.

  Parameters:
    `parameterTypeId` - The identifier to find; must not be `null`.
  Returns:
    A command parameter type with the given identifier, either defined or undefined.
  Since:
    3.2

### readRegistry

    void readRegistry()

  Reads the command information from the registry and the preferences. This will overwrite any of the existing information in the command service. This method is intended to be called during start-up. When this method completes, this command service will reflect the current state of the registry and preference store.

### removeExecutionListener

    void removeExecutionListener(IExecutionListener listener)

  Removes an execution listener from the command service.

  Parameters:
    `listener` - The listener to remove; must not be `null`.

### setHelpContextId

    void setHelpContextId(IHandler handler,
                          String helpContextId)

  Sets the help context identifier to associate with a particular handler.

  Parameters:
    `handler` - The handler with which to register a help context identifier; must not be `null`.
    `helpContextId` - The help context identifier to register; may be `null` if the help context identifier should be removed.
  Since:
    3.2

### registerElementForCommand

    IElementReference registerElementForCommand(ParameterizedCommand command,
                                                UIElement element)
                                                throws NotDefinedException

  Register that this element accepts callbacks for this parameterized command.

  Note: elements should be removed when no longer necessary. If not, they will be removed when the IServiceLocator used to acquire this service is disposed.

  Parameters:
    `command` - The parameterized command that is already specialized. Must not be `null`.
    `element` - The callback to register for this specialized command instance. Must not be `null`.
  Returns:
    A reference for the registered element that can be used to unregister it.
  Throws:
    `NotDefinedException` - If the command included in the ParameterizedCommand is not defined, or the element is `null`.
    `NotDefinedException`
  Since:
    3.3
  See Also:
    `unregisterElement(IElementReference)`

### registerElement

    void registerElement(IElementReference elementReference)

  Re-register a callback element provided by the ICommandService. This element reference must not currently be held by the ICommandService. i.e. it must have been removed using `unregisterElement(IElementReference)`.

  Note: elements should be removed when no longer necessary. If not, they will be removed when the IServiceLocator used to acquire this service is disposed.

  Parameters:
    `elementReference` - The reference to re-register. Must not be `null`.
  Since:
    3.3
  See Also:
    `unregisterElement(IElementReference)`

### unregisterElement

    void unregisterElement(IElementReference elementReference)

  Unregister an element callback. It will be removed from the ICommandService. The same service that is used to register an element for a command must be used to unregister the element.

  Parameters:
    `elementReference` - The callback reference that was provided by the command service on registration. Must not be `null`.
  Since:
    3.3

### refreshElements

    void refreshElements(String commandId,
                         Map filter)

  Refresh any elements registered against the command with the given id. It allows the active handler the opportunity to provide user feedback. If the command is parameterized, some of the parameters can be specified to help narrow down which elements to refresh.

  The service locator used in registering the element can also be used to scope the search. For example: if you wanted all elements for your command but only within the part's workbench window, you could use:

       Map filter = new HashMap();
       filter.put(IServiceScopes.WINDOW_SCOPE, getSite().getPage()
                      .getWorkbenchWindow());
       commandService.refreshElements(commandId, filter);

  Parameters:
    `commandId` - The command id to refresh if it has registered eleemnts.
    `filter` - key-value pairs that can narrow down the callbacks to return. The parameters are ANDed together. This may be `null`.
  Since:
    3.3

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.